diff options
| author | Darshil Trivedi <dat@odoo.com> | 2018-07-03 15:22:07 +0530 |
|---|---|---|
| committer | Simon Lejeune <sle@openerp.com> | 2018-07-19 14:43:08 +0200 |
| commit | 827958a8902589246dd741341ce1bc5465059909 (patch) | |
| tree | 4aab62ac9f8ae82ca7846be5afca7ce550546e5d /addons | |
| parent | c93ae01986578fff16e401b30232a314ba6bfd4d (diff) | |
[REF] stock: rename procurement.rule to stock.rule
This commit is related to task ID 1852969.
Diffstat (limited to 'addons')
28 files changed, 99 insertions, 99 deletions
diff --git a/addons/mrp/data/mrp_data.xml b/addons/mrp/data/mrp_data.xml index e83ce484a8e..31013ff0bb4 100644 --- a/addons/mrp/data/mrp_data.xml +++ b/addons/mrp/data/mrp_data.xml @@ -30,7 +30,7 @@ </record> <!-- - Procurement rules and routes + Stock rules and routes --> <record id="route_warehouse0_manufacture" model='stock.location.route'> diff --git a/addons/mrp/models/mrp_bom.py b/addons/mrp/models/mrp_bom.py index 4648a5a2a9b..e5788d9b9c7 100644 --- a/addons/mrp/models/mrp_bom.py +++ b/addons/mrp/models/mrp_bom.py @@ -54,7 +54,7 @@ class MrpBom(models.Model): 'stock.picking.type', 'Operation Type', domain=[('code', '=', 'mrp_operation')], help=u"When a procurement has a ‘produce’ route with a operation type set, it will try to create " "a Manufacturing Order for that product using a BoM of the same operation type. That allows " - "to define procurement rules which trigger different manufacturing orders with different BoMs.") + "to define stock rules which trigger different manufacturing orders with different BoMs.") company_id = fields.Many2one( 'res.company', 'Company', default=lambda self: self.env['res.company']._company_default_get('mrp.bom'), diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index ba3b5ca7501..64ed220b5b6 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -430,7 +430,7 @@ class MrpProduction(models.Model): product = move.product_id routes = product.route_ids + product.route_from_categ_ids # TODO: optimize with read_group? - pull = self.env['procurement.rule'].search([('route_id', 'in', [x.id for x in routes]), ('location_src_id', '=', move.location_id.id), + pull = self.env['stock.rule'].search([('route_id', 'in', [x.id for x in routes]), ('location_src_id', '=', move.location_id.id), ('location_id', '=', move.location_dest_id.id), ('action', '!=', 'push')], limit=1) if pull and (pull.procure_method == 'make_to_order'): move.procure_method = pull.procure_method diff --git a/addons/mrp/models/stock_rule.py b/addons/mrp/models/stock_rule.py index b68bc2cbbd1..3ff8c0a581c 100644 --- a/addons/mrp/models/stock_rule.py +++ b/addons/mrp/models/stock_rule.py @@ -7,12 +7,12 @@ from odoo import api, fields, models, _ from odoo.exceptions import UserError -class ProcurementRule(models.Model): - _inherit = 'procurement.rule' +class StockRule(models.Model): + _inherit = 'stock.rule' action = fields.Selection(selection_add=[('manufacture', 'Manufacture')]) def _get_message_dict(self): - message_dict = super(ProcurementRule, self)._get_message_dict() + message_dict = super(StockRule, self)._get_message_dict() source, destination, operation = self._get_message_values() manufacture_message = _('When products are needed in <b>%s</b>, <br/> a manufacturing order is created to fulfill the need.') % (destination) if self.location_src_id: @@ -85,6 +85,6 @@ class ProcurementRule(models.Model): return date_planned def _push_prepare_move_copy_values(self, move_to_copy, new_date): - new_move_vals = super(ProcurementRule, self)._push_prepare_move_copy_values(move_to_copy, new_date) + new_move_vals = super(StockRule, self)._push_prepare_move_copy_values(move_to_copy, new_date) new_move_vals['production_id'] = False return new_move_vals diff --git a/addons/mrp/models/stock_warehouse.py b/addons/mrp/models/stock_warehouse.py index 41cde1c0a5a..6de24962517 100644 --- a/addons/mrp/models/stock_warehouse.py +++ b/addons/mrp/models/stock_warehouse.py @@ -11,7 +11,7 @@ class StockWarehouse(models.Model): 'Manufacture to Resupply', default=True, help="When products are manufactured, they can be manufactured in this warehouse.") manufacture_pull_id = fields.Many2one( - 'procurement.rule', 'Manufacture Rule') + 'stock.rule', 'Manufacture Rule') manu_type_id = fields.Many2one( 'stock.picking.type', 'Manufacturing Operation Type', domain=[('code', '=', 'mrp_operation')]) @@ -81,7 +81,7 @@ class StockWarehouse(models.Model): manufacture_pull = warehouse.manufacture_pull_id manufacture_pull.write(warehouse._get_manufacture_pull_rules_values(routings)[0]) else: - manufacture_pull = self.env['procurement.rule'].create(warehouse._get_manufacture_pull_rules_values(routings)[0]) + manufacture_pull = self.env['stock.rule'].create(warehouse._get_manufacture_pull_rules_values(routings)[0]) return manufacture_pull @api.multi @@ -120,7 +120,7 @@ class StockWarehouse(models.Model): @api.multi def _update_name_and_code(self, name=False, code=False): res = super(StockWarehouse, self)._update_name_and_code(name, code) - # change the manufacture procurement rule name + # change the manufacture stock rule name for warehouse in self: if warehouse.manufacture_pull_id and name: warehouse.manufacture_pull_id.write({'name': warehouse.manufacture_pull_id.name.replace(warehouse.name, name, 1)}) diff --git a/addons/mrp/tests/test_stock.py b/addons/mrp/tests/test_stock.py index 650d1752e1e..571890f7271 100644 --- a/addons/mrp/tests/test_stock.py +++ b/addons/mrp/tests/test_stock.py @@ -9,7 +9,7 @@ class TestWarehouse(common.TestMrpCommon): def test_manufacturing_route(self): warehouse_1_stock_manager = self.warehouse_1.sudo(self.user_stock_manager) - manu_rule = self.env['procurement.rule'].search([ + manu_rule = self.env['stock.rule'].search([ ('action', '=', 'manufacture'), ('warehouse_id', '=', self.warehouse_1.id)]) self.assertEqual(self.warehouse_1.manufacture_pull_id, manu_rule) @@ -24,7 +24,7 @@ class TestWarehouse(common.TestMrpCommon): warehouse_1_stock_manager.write({ 'manufacture_to_resupply': True }) - manu_rule = self.env['procurement.rule'].search([ + manu_rule = self.env['stock.rule'].search([ ('action', '=', 'manufacture'), ('warehouse_id', '=', self.warehouse_1.id)]) self.assertEqual(self.warehouse_1.manufacture_pull_id, manu_rule) diff --git a/addons/procurement_jit/sale.py b/addons/procurement_jit/sale.py index ae6023e74b5..b35cd0e606f 100644 --- a/addons/procurement_jit/sale.py +++ b/addons/procurement_jit/sale.py @@ -8,8 +8,8 @@ class SaleOrderLine(models.Model): _inherit = "sale.order.line" @api.multi - def _action_launch_procurement_rule(self): - res = super(SaleOrderLine, self)._action_launch_procurement_rule() + def _action_launch_stock_rule(self): + res = super(SaleOrderLine, self)._action_launch_stock_rule() orders = list(set(x.order_id for x in self)) for order in orders: reassign = order.picking_ids.filtered(lambda x: x.state=='confirmed' or (x.state in ['waiting', 'assigned'] and not x.printed)) diff --git a/addons/purchase_requisition/models/purchase_requisition.py b/addons/purchase_requisition/models/purchase_requisition.py index 03196f5d9f8..0e96a3de9f7 100644 --- a/addons/purchase_requisition/models/purchase_requisition.py +++ b/addons/purchase_requisition/models/purchase_requisition.py @@ -430,20 +430,20 @@ class ProductTemplate(models.Model): string='Procurement', default='rfq') -class ProcurementRule(models.Model): - _inherit = 'procurement.rule' +class StockRule(models.Model): + _inherit = 'stock.rule' @api.multi def _run_buy(self, product_id, product_qty, product_uom, location_id, name, origin, values): if product_id.purchase_requisition != 'tenders': - return super(ProcurementRule, self)._run_buy(product_id, product_qty, product_uom, location_id, name, origin, values) + return super(StockRule, self)._run_buy(product_id, product_qty, product_uom, location_id, name, origin, values) values = self.env['purchase.requisition']._prepare_tender_values(product_id, product_qty, product_uom, location_id, name, origin, values) values['picking_type_id'] = self.picking_type_id.id self.env['purchase.requisition'].create(values) return True def _prepare_purchase_order(self, product_id, product_qty, product_uom, origin, values, partner): - res = super(ProcurementRule, self)._prepare_purchase_order(product_id, product_qty, product_uom, origin, values, partner) + res = super(StockRule, self)._prepare_purchase_order(product_id, product_qty, product_uom, origin, values, partner) res['partner_ref'] = values['supplier'].purchase_requisition_id.name res['requisition_id'] = values['supplier'].purchase_requisition_id.id if values['supplier'].purchase_requisition_id.currency_id: @@ -451,7 +451,7 @@ class ProcurementRule(models.Model): return res def _make_po_get_domain(self, values, partner): - domain = super(ProcurementRule, self)._make_po_get_domain(values, partner) + domain = super(StockRule, self)._make_po_get_domain(values, partner) if 'supplier' in values and values['supplier'].purchase_requisition_id: domain += ( ('requisition_id', '=', values['supplier'].purchase_requisition_id.id), diff --git a/addons/purchase_stock/data/purchase_stock_data.xml b/addons/purchase_stock/data/purchase_stock_data.xml index af9296af20b..431147a5b01 100644 --- a/addons/purchase_stock/data/purchase_stock_data.xml +++ b/addons/purchase_stock/data/purchase_stock_data.xml @@ -3,7 +3,7 @@ <data noupdate="1"> <!-- - Procurement rules and routes + Stock rules and routes --> <record id="route_warehouse0_buy" model='stock.location.route'> <field name="name">Buy</field> diff --git a/addons/purchase_stock/models/stock.py b/addons/purchase_stock/models/stock.py index 796dcf6801c..3ac4ba29ea2 100644 --- a/addons/purchase_stock/models/stock.py +++ b/addons/purchase_stock/models/stock.py @@ -109,7 +109,7 @@ class StockWarehouse(models.Model): buy_to_resupply = fields.Boolean('Buy to Resupply', default=True, help="When products are bought, they can be delivered to this warehouse") - buy_pull_id = fields.Many2one('procurement.rule', 'Buy rule') + buy_pull_id = fields.Many2one('stock.rule', 'Buy rule') @api.multi def _get_buy_pull_rule(self): @@ -136,7 +136,7 @@ class StockWarehouse(models.Model): res = super(StockWarehouse, self).create_routes() # super applies ensure_one() if self.buy_to_resupply: buy_pull_vals = self._get_buy_pull_rule() - buy_pull = self.env['procurement.rule'].create(buy_pull_vals) + buy_pull = self.env['stock.rule'].create(buy_pull_vals) res['buy_pull_id'] = buy_pull.id return res @@ -147,7 +147,7 @@ class StockWarehouse(models.Model): for warehouse in self: if not warehouse.buy_pull_id: buy_pull_vals = self._get_buy_pull_rule() - buy_pull = self.env['procurement.rule'].create(buy_pull_vals) + buy_pull = self.env['stock.rule'].create(buy_pull_vals) vals['buy_pull_id'] = buy_pull.id else: for warehouse in self: @@ -165,7 +165,7 @@ class StockWarehouse(models.Model): def _update_name_and_code(self, name=False, code=False): res = super(StockWarehouse, self)._update_name_and_code(name, code) warehouse = self[0] - #change the buy procurement rule name + #change the buy stock rule name if warehouse.buy_pull_id and name: warehouse.buy_pull_id.write({'name': warehouse.buy_pull_id.name.replace(warehouse.name, name, 1)}) return res diff --git a/addons/purchase_stock/models/stock_rule.py b/addons/purchase_stock/models/stock_rule.py index 646d52fbcb7..8203a42ca41 100644 --- a/addons/purchase_stock/models/stock_rule.py +++ b/addons/purchase_stock/models/stock_rule.py @@ -8,13 +8,13 @@ from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT from odoo.exceptions import UserError -class ProcurementRule(models.Model): - _inherit = 'procurement.rule' +class StockRule(models.Model): + _inherit = 'stock.rule' action = fields.Selection(selection_add=[('buy', 'Buy')]) def _get_message_dict(self): - message_dict = super(ProcurementRule, self)._get_message_dict() + message_dict = super(StockRule, self)._get_message_dict() dummy, destination, dummy = self._get_message_values() message_dict.update({ 'buy': _('When products are needed in <b>%s</b>, <br/> a request for quotation is created to fulfill the need.') % (destination) @@ -184,7 +184,7 @@ class ProcurementRule(models.Model): return suppliers[0] def _make_po_get_domain(self, values, partner): - domain = super(ProcurementRule, self)._make_po_get_domain(values, partner) + domain = super(StockRule, self)._make_po_get_domain(values, partner) gpo = self.group_propagation_option group = (gpo == 'fixed' and self.group_id) or \ (gpo == 'propagate' and 'group_id' in values and values['group_id']) or False diff --git a/addons/purchase_stock/views/stock_rule_views.xml b/addons/purchase_stock/views/stock_rule_views.xml index 4d04f432d37..adbdd662bbf 100644 --- a/addons/purchase_stock/views/stock_rule_views.xml +++ b/addons/purchase_stock/views/stock_rule_views.xml @@ -2,9 +2,9 @@ <odoo> <data> <!-- Stock rules --> - <record id="view_procurement_rule_form_stock_inherit_purchase_stock" model="ir.ui.view"> - <field name="name">procurement.rule.form.stock.inherit.purchase_stock</field> - <field name="model">procurement.rule</field> + <record id="view_stock_rule_form_stock_inherit_purchase_stock" model="ir.ui.view"> + <field name="name">stock.rule.form.stock.inherit.purchase_stock</field> + <field name="model">stock.rule</field> <field name="inherit_id" ref="stock.view_stock_rule_form"/> <field name="arch" type="xml"> <field name="location_src_id" position="attributes"> diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index 1ad56981138..e80222c5e43 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -1099,7 +1099,7 @@ class SaleOrderLine(models.Model): @api.multi def _prepare_procurement_values(self, group_id=False): - """ Prepare specific key for moves or other components that will be created from a procurement rule + """ Prepare specific key for moves or other components that will be created from a stock rule comming from a sale order line. This method could be override in order to add other custom key that could be used in move/po creation. """ diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py index 62a5c7addf0..32a8a6345b2 100644 --- a/addons/sale_stock/models/sale_order.py +++ b/addons/sale_stock/models/sale_order.py @@ -56,7 +56,7 @@ class SaleOrder(models.Model): def _action_confirm(self): super(SaleOrder, self)._action_confirm() for order in self: - order.order_line._action_launch_procurement_rule() + order.order_line._action_launch_stock_rule() @api.depends('picking_ids') def _compute_picking_ids(self): @@ -176,7 +176,7 @@ class SaleOrderLine(models.Model): def create(self, values): line = super(SaleOrderLine, self).create(values) if line.state == 'sale': - line._action_launch_procurement_rule() + line._action_launch_stock_rule() return line @api.multi @@ -188,7 +188,7 @@ class SaleOrderLine(models.Model): lambda r: r.state == 'sale' and not r.is_expense and float_compare(r.product_uom_qty, values['product_uom_qty'], precision_digits=precision) == -1) res = super(SaleOrderLine, self).write(values) if lines: - lines._action_launch_procurement_rule() + lines._action_launch_stock_rule() return res @api.depends('order_id.state') @@ -275,7 +275,7 @@ class SaleOrderLine(models.Model): @api.multi def _prepare_procurement_values(self, group_id=False): - """ Prepare specific key for moves or other components that will be created from a procurement rule + """ Prepare specific key for moves or other components that will be created from a stock rule comming from a sale order line. This method could be override in order to add other custom key that could be used in move/po creation. """ @@ -295,7 +295,7 @@ class SaleOrderLine(models.Model): return values @api.multi - def _action_launch_procurement_rule(self): + def _action_launch_stock_rule(self): """ Launch procurement group run method with required/custom fields genrated by a sale order line. procurement group will launch '_run_pull', '_run_buy' or '_run_manufacture' diff --git a/addons/sale_stock/models/stock.py b/addons/sale_stock/models/stock.py index eee0424021c..f42bc1b3a0d 100644 --- a/addons/sale_stock/models/stock.py +++ b/addons/sale_stock/models/stock.py @@ -42,11 +42,11 @@ class ProcurementGroup(models.Model): sale_id = fields.Many2one('sale.order', 'Sale Order') -class ProcurementRule(models.Model): - _inherit = 'procurement.rule' +class StockRule(models.Model): + _inherit = 'stock.rule' def _get_stock_move_values(self, product_id, product_qty, product_uom, location_id, name, origin, values, group_id): - result = super(ProcurementRule, self)._get_stock_move_values(product_id, product_qty, product_uom, location_id, name, origin, values, group_id) + result = super(StockRule, self)._get_stock_move_values(product_id, product_qty, product_uom, location_id, name, origin, values, group_id) if values.get('sale_line_id', False): result['sale_line_id'] = values['sale_line_id'] if values.get('partner_dest_id'): diff --git a/addons/sale_stock/security/ir.model.access.csv b/addons/sale_stock/security/ir.model.access.csv index 39a9e69f3eb..47abb8177e6 100644 --- a/addons/sale_stock/security/ir.model.access.csv +++ b/addons/sale_stock/security/ir.model.access.csv @@ -14,5 +14,5 @@ access_stock_warehouse_orderpoint_sale_salesman,stock.warehouse.orderpoint,stock access_account_partial_reconcile,account.partial.reconcile,account.model_account_partial_reconcile,stock.group_stock_manager,1,1,1,1 access_account_journal,account.journal,account.model_account_journal,stock.group_stock_manager,1,1,0,0 access_stock_location_sale_manager,stock.location sale manager,stock.model_stock_location,sales_team.group_sale_manager,1,0,0,0 -access_procurement_rule_salemanager,procurement_rule salemanager,stock.model_procurement_rule,sales_team.group_sale_manager,1,1,1,1 -access_procurement_rule,procurement.rule.flow,stock.model_procurement_rule,sales_team.group_sale_salesman,1,0,0,0 +access_stock_rule_salemanager,stock_rule salemanager,stock.model_stock_rule,sales_team.group_sale_manager,1,1,1,1 +access_stock_rule,stock.rule.flow,stock.model_stock_rule,sales_team.group_sale_salesman,1,0,0,0 diff --git a/addons/stock/data/stock_data.xml b/addons/stock/data/stock_data.xml index a8afe9ac453..f7b73d76467 100644 --- a/addons/stock/data/stock_data.xml +++ b/addons/stock/data/stock_data.xml @@ -80,7 +80,7 @@ </data> <data noupdate="1"> <!-- - Procurement rules + Stock rules --> <!-- set a lower sequence on the mto route than on the resupply routes --> diff --git a/addons/stock/models/stock_location.py b/addons/stock/models/stock_location.py index c2fa3c3b1d3..5caa723ecc9 100644 --- a/addons/stock/models/stock_location.py +++ b/addons/stock/models/stock_location.py @@ -148,7 +148,7 @@ class Route(models.Model): name = fields.Char('Route Name', required=True, translate=True) active = fields.Boolean('Active', default=True, help="If the active field is set to False, it will allow you to hide the route without removing it.") sequence = fields.Integer('Sequence', default=0) - rule_ids = fields.One2many('procurement.rule', 'route_id', 'Rules', copy=True) + rule_ids = fields.One2many('stock.rule', 'route_id', 'Rules', copy=True) product_selectable = fields.Boolean('Applicable on Product', default=True, help="When checked, the route will be selectable in the Inventory tab of the Product form. It will take priority over the Warehouse route. ") product_categ_selectable = fields.Boolean('Applicable on Product Category', help="When checked, the route will be selectable on the Product Category. It will take priority over the Warehouse route. ") warehouse_selectable = fields.Boolean('Applicable on Warehouse', help="When a warehouse is selected for this route, this route should be seen as the default route when products pass through this warehouse. This behaviour can be overridden by the routes on the Product/Product Categories or by the Preferred Routes on the Procurement") diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py index 4ec79dab83d..95077f6fde9 100644 --- a/addons/stock/models/stock_move.py +++ b/addons/stock/models/stock_move.py @@ -123,7 +123,7 @@ class StockMove(models.Model): scrapped = fields.Boolean('Scrapped', related='location_dest_id.scrap_location', readonly=True, store=True) scrap_ids = fields.One2many('stock.scrap', 'move_id') group_id = fields.Many2one('procurement.group', 'Procurement Group', default=_default_group_id) - rule_id = fields.Many2one('procurement.rule', 'Stock Rule', ondelete='restrict', help='The stock rule that created this stock move') + rule_id = fields.Many2one('stock.rule', 'Stock Rule', ondelete='restrict', help='The stock rule that created this stock move') propagate = fields.Boolean( 'Propagate cancel and split', default=True, help='If checked, when this move is cancelled, cancel the linked move too') @@ -768,7 +768,7 @@ class StockMove(models.Model): return self def _prepare_procurement_values(self): - """ Prepare specific key for moves or other componenets that will be created from a procurement rule + """ Prepare specific key for moves or other componenets that will be created from a stock rule comming from a stock move. This method could be override in order to add other custom key that could be used in move/po creation. """ diff --git a/addons/stock/models/stock_rule.py b/addons/stock/models/stock_rule.py index c3ff2383d55..c2ea9f22293 100644 --- a/addons/stock/models/stock_rule.py +++ b/addons/stock/models/stock_rule.py @@ -17,10 +17,10 @@ import logging _logger = logging.getLogger(__name__) -class ProcurementRule(models.Model): +class StockRule(models.Model): """ A rule describe what a procurement should do; produce, buy, move, ... """ - _name = 'procurement.rule' - _description = "Procurement Rule" + _name = 'stock.rule' + _description = "Stock Rule" _order = "sequence, name" name = fields.Char( @@ -169,7 +169,7 @@ class ProcurementRule(models.Model): def _run_pull(self, product_id, product_qty, product_uom, location_id, name, origin, values): if not self.location_src_id: - msg = _('No source location defined on procurement rule: %s!') % (self.name, ) + msg = _('No source location defined on stock rule: %s!') % (self.name, ) raise UserError(msg) # create the move as SUPERUSER because the current user may not have the rights to do it (mto product launched by a sale for example) @@ -188,7 +188,7 @@ class ProcurementRule(models.Model): def _get_stock_move_values(self, product_id, product_qty, product_uom, location_id, name, origin, values, group_id): ''' Returns a dictionary of values that will be used to create a stock move from a procurement. - This function assumes that the given procurement has a rule (action == 'pull' or action == 'pull_push') set on it. + This function assumes that the given procurement has a rule (action == 'pull' or 'pull_push') set on it. :param procurement: browse record :rtype: dictionary @@ -306,8 +306,8 @@ class ProcurementGroup(models.Model): """ if warehouse_id: domain = expression.AND([['|', ('warehouse_id', '=', warehouse_id.id), ('warehouse_id', '=', False)], domain]) - Rule = self.env['procurement.rule'] - res = self.env['procurement.rule'] + Rule = self.env['stock.rule'] + res = self.env['stock.rule'] if route_ids: res = Rule.search(expression.AND([[('route_id', 'in', route_ids.ids)], domain]), order='route_sequence, sequence', limit=1) if not res: @@ -473,7 +473,7 @@ class ProcurementGroup(models.Model): self.env['procurement.group'].run(orderpoint.product_id, qty_rounded, orderpoint.product_uom, orderpoint.location_id, orderpoint.name, orderpoint.name, values) except UserError as error: - self.env['procurement.rule']._log_next_activity(orderpoint.product_id, error.name) + self.env['stock.rule']._log_next_activity(orderpoint.product_id, error.name) self._procurement_from_orderpoint_post_process([orderpoint.id]) if use_new_cursor: cr.commit() diff --git a/addons/stock/models/stock_warehouse.py b/addons/stock/models/stock_warehouse.py index 15808937ce6..96ade7d5b5e 100644 --- a/addons/stock/models/stock_warehouse.py +++ b/addons/stock/models/stock_warehouse.py @@ -51,7 +51,7 @@ class Warehouse(models.Model): wh_qc_stock_loc_id = fields.Many2one('stock.location', 'Quality Control Location') wh_output_stock_loc_id = fields.Many2one('stock.location', 'Output Location') wh_pack_stock_loc_id = fields.Many2one('stock.location', 'Packing Location') - mto_pull_id = fields.Many2one('procurement.rule', 'MTO rule') + mto_pull_id = fields.Many2one('stock.rule', 'MTO rule') pick_type_id = fields.Many2one('stock.picking.type', 'Pick Type') pack_type_id = fields.Many2one('stock.picking.type', 'Pack Type') out_type_id = fields.Many2one('stock.picking.type', 'Out Type') @@ -116,7 +116,7 @@ class Warehouse(models.Model): # create sequences and operation types new_vals = warehouse.create_sequences_and_picking_types() warehouse.write(new_vals) # TDE FIXME: use super ? - # create routes and push/procurement rules + # create routes and push/stock rules route_vals = warehouse.create_routes() warehouse.write(route_vals) # update partner data if partner assigned @@ -173,7 +173,7 @@ class Warehouse(models.Model): warehouse.create_resupply_routes(to_add, warehouse.default_resupply_wh_id) if to_remove: Route.search([('supplied_wh_id', '=', warehouse.id), ('supplier_wh_id', 'in', to_remove.ids)]).write({'active': False}) - # TDE FIXME: shouldn't we remove procurement rules also ? because this could make them global (not sure) + # TDE FIXME: shouldn't we remove stock rules also ? because this could make them global (not sure) return res @@ -272,7 +272,7 @@ class Warehouse(models.Model): # create route selectable on the product to resupply the warehouse from another one self.create_resupply_routes(self.resupply_wh_ids, self.default_resupply_wh_id) - # return routes and mto procurement rule to store on the warehouse + # return routes and mto stock rule to store on the warehouse return { 'route_ids': [(4, route.id) for route in reception_route | delivery_route | crossdock_route], 'mto_pull_id': mto_pull.id, @@ -284,7 +284,7 @@ class Warehouse(models.Model): def _find_existing_rule_or_create(self, rules_list): """ This method will find existing rule or create new one""" for rule_vals in rules_list: - existing_rule = self.env['procurement.rule'].search([ + existing_rule = self.env['stock.rule'].search([ ('picking_type_id', '=', rule_vals['picking_type_id']), ('location_src_id', '=', rule_vals['location_src_id']), ('location_id', '=', rule_vals['location_id']), @@ -293,7 +293,7 @@ class Warehouse(models.Model): ('active', '=', False), ]) if not existing_rule: - self.env['procurement.rule'].create(rule_vals) + self.env['stock.rule'].create(rule_vals) else: existing_rule.write({'active': True}) @@ -306,7 +306,7 @@ class Warehouse(models.Model): reception_route.rule_ids.write({'active': False}) else: warehouse.reception_route_id = reception_route = self.env['stock.location.route'].create(warehouse._get_reception_delivery_route_values(warehouse.reception_steps)) - # procurement rules for reception + # stock rules for reception routings = routes_data[warehouse.id][warehouse.reception_steps] rules_list = warehouse._get_rule_values( routings, values={'active': True, 'procure_method': 'make_to_order', 'route_id': reception_route.id}) @@ -323,7 +323,7 @@ class Warehouse(models.Model): delivery_route.rule_ids.write({'active': False}) else: delivery_route = self.env['stock.location.route'].create(warehouse._get_reception_delivery_route_values(warehouse.delivery_steps)) - # procurement (pull) rules for delivery + # stock (pull) rules for delivery routings = routes_data[warehouse.id][warehouse.delivery_steps] rules_list = warehouse._get_rule_values( routings, values={'active': True, 'route_id': delivery_route.id}) @@ -331,9 +331,9 @@ class Warehouse(models.Model): return delivery_route def _create_or_update_mto_pull(self, routes_data): - """ Create MTO procurement rule and link it to the generic MTO route """ + """ Create MTO stock rule and link it to the generic MTO route """ routes_data = routes_data or self.get_routes_dict() - Rule = self.env['procurement.rule'] + Rule = self.env['stock.rule'] for warehouse in self: routings = routes_data[warehouse.id][warehouse.delivery_steps] if warehouse.mto_pull_id: @@ -359,12 +359,12 @@ class Warehouse(models.Model): routings, values={'procure_method': 'make_to_order', 'active': warehouse.delivery_steps != 'ship_only' and warehouse.reception_steps != 'one_step', 'route_id': crossdock_route.id}) for rule_vals in pull_list: - self.env['procurement.rule'].create(rule_vals) + self.env['stock.rule'].create(rule_vals) return crossdock_route def create_resupply_routes(self, supplier_warehouses, default_resupply_wh): Route = self.env['stock.location.route'] - Rule = self.env['procurement.rule'] + Rule = self.env['stock.rule'] input_location, output_location = self._get_input_output_locations(self.reception_steps, self.delivery_steps) internal_transit_location, external_transit_location = self._get_transit_locations() @@ -545,7 +545,7 @@ class Warehouse(models.Model): def _check_delivery_resupply(self, new_location, change_to_multiple): """ Check if the resupply routes from this warehouse follow the changes of number of delivery steps Check routes being delivery bu this warehouse and change the rule going to transit location """ - Rule = self.env["procurement.rule"] + Rule = self.env["stock.rule"] routes = self.env['stock.location.route'].search([('supplier_wh_id', '=', self.id)]) rules = Rule.search(['&', '&', ('route_id', 'in', routes.ids), ('action', '!=', 'push'), ('location_id.usage', '=', 'transit')]) rules.write({ @@ -558,7 +558,7 @@ class Warehouse(models.Model): for mto_rule_val in mto_rule_vals: Rule.create(mto_rule_val) else: - # We need to delete all the MTO procurement rules, otherwise they risk to be used in the system + # We need to delete all the MTO stock rules, otherwise they risk to be used in the system Rule.search([ '&', ('route_id', '=', self._get_mto_route().id), ('location_id.usage', '=', 'transit'), @@ -569,7 +569,7 @@ class Warehouse(models.Model): """ Check routes being delivered by the warehouses (resupply routes) and change their rule coming from the transit location """ routes = self.env['stock.location.route'].search([('supplied_wh_id', 'in', self.ids)]) - self.env['procurement.rule'].search([ + self.env['stock.rule'].search([ '&', ('route_id', 'in', routes.ids), '&', @@ -644,7 +644,7 @@ class Warehouse(models.Model): self.mapped('wh_output_stock_loc_id').write({'active': True}) def _location_used(self, location): - rules = self.env['procurement.rule'].search_count([ + rules = self.env['stock.rule'].search_count([ '&', ('route_id', 'not in', [x.id for x in self.route_ids]), '|', ('location_src_id', '=', location.id), @@ -759,7 +759,7 @@ class Orderpoint(models.Model): help="The procurement quantity will be rounded up to this multiple. If it is 0, the exact quantity will be used.") group_id = fields.Many2one( 'procurement.group', 'Procurement Group', copy=False, - help="Moves created through this orderpoint will be put in this procurement group. If none is given, the moves generated by procurement rules will be grouped into one big picking.") + help="Moves created through this orderpoint will be put in this procurement group. If none is given, the moves generated by stock rules will be grouped into one big picking.") company_id = fields.Many2one( 'res.company', 'Company', required=True, default=lambda self: self.env['res.company']._company_default_get('stock.warehouse.orderpoint')) @@ -810,7 +810,7 @@ class Orderpoint(models.Model): return date_planned.strftime(DEFAULT_SERVER_DATETIME_FORMAT) def _prepare_procurement_values(self, product_qty, date=False, group=False): - """ Prepare specific key for moves or other components that will be created from a procurement rule + """ Prepare specific key for moves or other components that will be created from a stock rule comming from an orderpoint. This method could be override in order to add other custom key that could be used in move/po creation. """ diff --git a/addons/stock/security/ir.model.access.csv b/addons/stock/security/ir.model.access.csv index f52d96b8f3f..92c7846edaa 100644 --- a/addons/stock/security/ir.model.access.csv +++ b/addons/stock/security/ir.model.access.csv @@ -1,6 +1,6 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_procurement_group,procurement.group,model_procurement_group,base.group_user,1,1,1,0 -access_procurement_rule,procurement.rule,model_procurement_rule,base.group_user,1,1,1,0 +access_stock_rule,stock.rule,model_stock_rule,base.group_user,1,1,1,0 access_stock_incoterms_all,stock.incoterms all,model_stock_incoterms,,1,0,0,0 access_stock_incoterms_manager,stock.incoterms manager,model_stock_incoterms,stock.group_stock_manager,1,1,1,1 access_stock_warehouse_manager,stock.warehouse.manager,model_stock_warehouse,stock.group_stock_manager,1,1,1,1 @@ -49,12 +49,12 @@ access_stock_quant_package_stock_user,stock.quant.package stock user,model_stock access_stock_package_level_all,stock.package_level all users,model_stock_package_level,base.group_user,1,0,0,0 access_stock_package_level_stock_manager,stock.package_level stock manager,model_stock_package_level,stock.group_stock_manager,1,1,1,1 access_stock_package_level_stock_user,stock.package_level stock user,model_stock_package_level,stock.group_stock_user,1,1,1,1 -access_procurement_rule_user,procurement_rule user,model_procurement_rule,stock.group_stock_user,1,0,0,0 -access_procurement_rule_manager,procurement_rule manager,model_procurement_rule,stock.group_stock_manager,1,1,1,1 -access_procurement_rule_stock_manager,procurement_rule stock manager,model_procurement_rule,stock.group_stock_manager,1,1,1,1 +access_stock_rule_user,stock_rule user,model_stock_rule,stock.group_stock_user,1,0,0,0 +access_stock_rule_manager,stock_rule manager,model_stock_rule,stock.group_stock_manager,1,1,1,1 +access_stock_rule_stock_manager,stock_rule stock manager,model_stock_rule,stock.group_stock_manager,1,1,1,1 access_stock_location_route_stock_manager,stock.location.route,model_stock_location_route,stock.group_stock_manager,1,1,1,1 access_stock_location_route,stock.location.route,model_stock_location_route,base.group_user,1,0,0,0 -access_procurement_rule_internal,procurement.rule.flow internal,model_procurement_rule,base.group_user,1,0,0,0 +access_stock_rule_internal,stock.rule.flow internal,model_stock_rule,base.group_user,1,0,0,0 access_stock_move_line_manager,stock.move.line manager,model_stock_move_line,stock.group_stock_manager,1,1,1,1 access_stock_move_line_user,stock.move.line user,model_stock_move_line,stock.group_stock_user,1,1,1,1 access_stock_move_line_all,stock.move.line all users,model_stock_move_line,base.group_user,1,1,1,1 diff --git a/addons/stock/security/stock_security.xml b/addons/stock/security/stock_security.xml index 82f7636a4c6..a402bead1ae 100644 --- a/addons/stock/security/stock_security.xml +++ b/addons/stock/security/stock_security.xml @@ -115,7 +115,7 @@ <record model="ir.rule" id="product_pulled_flow_comp_rule"> <field name="name">product_pulled_flow multi-company</field> - <field name="model_id" ref="model_procurement_rule"/> + <field name="model_id" ref="model_stock_rule"/> <field name="global" eval="True"/> <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> </record> @@ -137,7 +137,7 @@ <record model="ir.rule" id="product_pulled_flow_comp_rule"> <field name="name">product_pulled_flow multi-company</field> - <field name="model_id" ref="model_procurement_rule"/> + <field name="model_id" ref="model_stock_rule"/> <field name="global" eval="True"/> <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> </record> diff --git a/addons/stock/tests/test_move2.py b/addons/stock/tests/test_move2.py index 87cdd67a1fc..e8656426e66 100644 --- a/addons/stock/tests/test_move2.py +++ b/addons/stock/tests/test_move2.py @@ -1835,7 +1835,7 @@ class TestRoutes(TestStockCommon): """ self._enable_pick_ship() - # create a procurement group and set in on the pick procurement rule + # create a procurement group and set in on the pick stock rule procurement_group0 = self.env['procurement.group'].create({}) pick_rule = self.pick_ship_route.rule_ids.filtered(lambda rule: 'Stock → Output' in rule.name) push_rule = self.pick_ship_route.rule_ids - pick_rule diff --git a/addons/stock/tests/test_proc_rule.py b/addons/stock/tests/test_proc_rule.py index 284dc3b44aa..535af8a1830 100644 --- a/addons/stock/tests/test_proc_rule.py +++ b/addons/stock/tests/test_proc_rule.py @@ -8,7 +8,7 @@ from odoo.tools import mute_logger class TestProcRule(TransactionCase): def test_proc_rule(self): - # Create a product route containing a procurement rule that will + # Create a product route containing a stock rule that will # generate a move from Stock for every procurement created in Output product_route = self.env['stock.location.route'].create({ 'name': 'Stock -> output route', diff --git a/addons/stock/views/stock_rule_views.xml b/addons/stock/views/stock_rule_views.xml index 68ba8637f81..a5591a60cfb 100644 --- a/addons/stock/views/stock_rule_views.xml +++ b/addons/stock/views/stock_rule_views.xml @@ -23,11 +23,11 @@ </field> </record> - <!-- Procurement Rules --> + <!-- Stock Rules --> - <record id="view_procurement_rule_filter" model="ir.ui.view"> - <field name="name">procurement.rule.select</field> - <field name="model">procurement.rule</field> + <record id="view_stock_rule_filter" model="ir.ui.view"> + <field name="name">stock.rule.select</field> + <field name="model">stock.rule</field> <field name="arch" type="xml"> <search string="Search Procurement"> <filter string="Archived" name="inactive" domain="[('active','=',False)]"/> @@ -40,9 +40,9 @@ </record> <!-- <Rules> --> - <record id="view_procurement_rule_tree" model="ir.ui.view"> - <field name="name">procurement.rule.tree</field> - <field name="model">procurement.rule</field> + <record id="view_stock_rule_tree" model="ir.ui.view"> + <field name="name">stock.rule.tree</field> + <field name="model">stock.rule</field> <field name="arch" type="xml"> <tree string="Rules"> <field name="sequence"/> @@ -54,9 +54,9 @@ </field> </record> - <record id="view_procurement_rule_form" model="ir.ui.view"> - <field name="name">procurement.rule.form</field> - <field name="model">procurement.rule</field> + <record id="view_stock_rule_form" model="ir.ui.view"> + <field name="name">stock.rule.form</field> + <field name="model">stock.rule</field> <field name="arch" type="xml"> <form string="Rules"> <sheet> @@ -113,10 +113,10 @@ <!-- Form view for route --> <record id="view_route_rule_form" model="ir.ui.view"> - <field name="name">procurement.rule.form</field> - <field name="model">procurement.rule</field> + <field name="name">stock.rule.form</field> + <field name="model">stock.rule</field> <field name="mode">primary</field> - <field name="inherit_id" ref="stock.view_procurement_rule_form"/> + <field name="inherit_id" ref="stock.view_stock_rule_form"/> <field name="arch" type="xml"> <xpath expr="//field[@name='route_id']" position="replace"></xpath> <xpath expr="//group[@name='apply_on']" position="attributes"> @@ -127,7 +127,7 @@ <record id="action_rules_form" model="ir.actions.act_window"> <field name="name">Rules</field> - <field name="res_model">procurement.rule</field> + <field name="res_model">stock.rule</field> <field name="type">ir.actions.act_window</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> diff --git a/addons/stock_dropshipping/data/stock_data.xml b/addons/stock_dropshipping/data/stock_data.xml index 5637378cb82..b3630e0ffff 100644 --- a/addons/stock_dropshipping/data/stock_data.xml +++ b/addons/stock_dropshipping/data/stock_data.xml @@ -27,7 +27,7 @@ <field name="product_categ_selectable" eval="True"/> </record> - <record id="procurement_rule_drop_shipping" model="procurement.rule"> + <record id="stock_rule_drop_shipping" model="stock.rule"> <field name="name">Vendor → Customer (Dropshipping)</field> <field name="action">buy</field> <field name="location_id" ref="stock.stock_location_customers"/> diff --git a/addons/stock_dropshipping/models/purchase.py b/addons/stock_dropshipping/models/purchase.py index 2a3e32d1269..7a2362656ae 100644 --- a/addons/stock_dropshipping/models/purchase.py +++ b/addons/stock_dropshipping/models/purchase.py @@ -17,12 +17,12 @@ class PurchaseOrderLine(models.Model): return res -class ProcurementRule(models.Model): - _inherit = 'procurement.rule' +class StockRule(models.Model): + _inherit = 'stock.rule' @api.model def _prepare_purchase_order_line(self, product_id, product_qty, product_uom, values, po, supplier): - res = super(ProcurementRule, self)._prepare_purchase_order_line(product_id, product_qty, product_uom, values, po, supplier) + res = super(StockRule, self)._prepare_purchase_order_line(product_id, product_qty, product_uom, values, po, supplier) res['sale_line_id'] = values.get('sale_line_id', False) return res |
