diff --git a/stock_warehouse_procurement/__init__.py b/stock_warehouse_procurement/__init__.py new file mode 100644 index 00000000..134df274 --- /dev/null +++ b/stock_warehouse_procurement/__init__.py @@ -0,0 +1,2 @@ +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..27d2daa2 --- /dev/null +++ b/stock_warehouse_procurement/__manifest__.py @@ -0,0 +1,20 @@ +{ + 'name': 'Reorder Rules per Warehouse', + 'version': '11.0.1.0.0', + 'category': 'Warehouse', + 'depends': [ + 'stock', + ], + 'description': """ +Extends `stock.scheduler.compute` wizard to allow running on demand per-warehouse. + +""", + 'author': "Hibou Corp.", + 'license': 'AGPL-3', + 'website': 'https://hibou.io/', + 'data': [ + 'wizard/stock_scheduler_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..2cac6b05 --- /dev/null +++ b/stock_warehouse_procurement/models/__init__.py @@ -0,0 +1 @@ +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..3b56006b --- /dev/null +++ b/stock_warehouse_procurement/models/procurement.py @@ -0,0 +1,12 @@ +from odoo import models + + +class ProcurementGroup(models.Model): + _inherit = 'procurement.group' + + def _get_orderpoint_domain(self, company_id=False): + domain = super(ProcurementGroup, self)._get_orderpoint_domain(company_id) + warehouse_id = self.env.context.get('warehouse_id', None) + if warehouse_id: + domain.append(('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..26d21bd5 --- /dev/null +++ b/stock_warehouse_procurement/wizard/__init__.py @@ -0,0 +1 @@ +from . import stock_scheduler_compute diff --git a/stock_warehouse_procurement/wizard/stock_scheduler_compute.py b/stock_warehouse_procurement/wizard/stock_scheduler_compute.py new file mode 100644 index 00000000..408b3d9b --- /dev/null +++ b/stock_warehouse_procurement/wizard/stock_scheduler_compute.py @@ -0,0 +1,14 @@ +from odoo import api, fields, models + + +class StockSchedulerCompute(models.TransientModel): + _inherit = 'stock.scheduler.compute' + + warehouse_id = fields.Many2one('stock.warehouse', string='Warehouse') + + @api.multi + def procure_calculation(self): + self.ensure_one() + if self.warehouse_id: + self = self.with_context(warehouse_id=self.warehouse_id.id) + return super(StockSchedulerCompute, self).procure_calculation() diff --git a/stock_warehouse_procurement/wizard/stock_scheduler_compute_views.xml b/stock_warehouse_procurement/wizard/stock_scheduler_compute_views.xml new file mode 100644 index 00000000..65960b24 --- /dev/null +++ b/stock_warehouse_procurement/wizard/stock_scheduler_compute_views.xml @@ -0,0 +1,15 @@ + + + + Run Schedulers Manually + stock.scheduler.compute + + + + + + + + + + \ No newline at end of file