diff --git a/stock_warehouse_procurement/__init__.py b/stock_warehouse_procurement/__init__.py new file mode 100644 index 00000000..a1e27b03 --- /dev/null +++ b/stock_warehouse_procurement/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +from . import wizard +from . import models diff --git a/stock_warehouse_procurement/__manifest__.py b/stock_warehouse_procurement/__manifest__.py new file mode 100644 index 00000000..4ddad4a1 --- /dev/null +++ b/stock_warehouse_procurement/__manifest__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# © 2017 Hibou Corp. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{'name': 'Reorder Rules per Warehouse', + 'version': '10.0.1.0.0', + 'category': 'Warehouse', + 'depends': ['stock', + ], + 'description': """ +Patches `procurement.orderpoint.compute` wizard to allow running on demand per-warehouse. + + """, + 'author': "Hibou Corp.", + 'license': 'AGPL-3', + 'website': 'https://hibou.io/', + 'data': [ + 'wizard/procurement_order_compute_views.xml', + ], + 'installable': True, + 'application': False, + } diff --git a/stock_warehouse_procurement/models/__init__.py b/stock_warehouse_procurement/models/__init__.py new file mode 100644 index 00000000..9478ba3b --- /dev/null +++ b/stock_warehouse_procurement/models/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import procurement diff --git a/stock_warehouse_procurement/models/procurement.py b/stock_warehouse_procurement/models/procurement.py new file mode 100644 index 00000000..ef2c610b --- /dev/null +++ b/stock_warehouse_procurement/models/procurement.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +from odoo import models + + +class ProcurementOrder(models.Model): + _inherit = "procurement.order" + + def _get_orderpoint_domain(self, company_id=False): + domain = super(ProcurementOrder, self)._get_orderpoint_domain(company_id) + warehouse_id = self.env.context.get('warehouse_id', None) + if warehouse_id: + domain += [('warehouse_id', '=', warehouse_id)] + return domain diff --git a/stock_warehouse_procurement/wizard/__init__.py b/stock_warehouse_procurement/wizard/__init__.py new file mode 100644 index 00000000..2dbe7992 --- /dev/null +++ b/stock_warehouse_procurement/wizard/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import procurement_order_compute diff --git a/stock_warehouse_procurement/wizard/procurement_order_compute.py b/stock_warehouse_procurement/wizard/procurement_order_compute.py new file mode 100644 index 00000000..689f54af --- /dev/null +++ b/stock_warehouse_procurement/wizard/procurement_order_compute.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models + + +class ProcurementOrderpointConfirm(models.TransientModel): + _inherit = 'procurement.orderpoint.compute' + + warehouse_id = fields.Many2one('stock.warehouse', string='Warehouse') + + @api.multi + def procure_calculation(self): + if self.warehouse_id: + self = self.with_context(warehouse_id=self.warehouse_id.id) + return super(ProcurementOrderpointConfirm, self).procure_calculation() diff --git a/stock_warehouse_procurement/wizard/procurement_order_compute_views.xml b/stock_warehouse_procurement/wizard/procurement_order_compute_views.xml new file mode 100644 index 00000000..679e258b --- /dev/null +++ b/stock_warehouse_procurement/wizard/procurement_order_compute_views.xml @@ -0,0 +1,17 @@ + + + + Run Reordering Rules + procurement.orderpoint.compute + + + + + + + + + + + + \ No newline at end of file