diff --git a/dev_zero_stock_blockage/__init__.py b/dev_zero_stock_blockage/__init__.py new file mode 100644 index 00000000000..4920c6bc8a0 --- /dev/null +++ b/dev_zero_stock_blockage/__init__.py @@ -0,0 +1 @@ +from .import models diff --git a/dev_zero_stock_blockage/__manifest__.py b/dev_zero_stock_blockage/__manifest__.py new file mode 100644 index 00000000000..a65539a1c7e --- /dev/null +++ b/dev_zero_stock_blockage/__manifest__.py @@ -0,0 +1,12 @@ +{ + "name": "dev_stock_blockage", + "version": "1.0", + "depends": ["sale"], + "author": "vikvi", + "category": "Tutorials", + "license": "LGPL-3", + 'installable': True, + "data": [ + 'views/sale_zero_stock.xml' + ] +} diff --git a/dev_zero_stock_blockage/models/__init__.py b/dev_zero_stock_blockage/models/__init__.py new file mode 100644 index 00000000000..e8583c37c5e --- /dev/null +++ b/dev_zero_stock_blockage/models/__init__.py @@ -0,0 +1 @@ +from .import zero_stoack_blockage diff --git a/dev_zero_stock_blockage/models/zero_stoack_blockage.py b/dev_zero_stock_blockage/models/zero_stoack_blockage.py new file mode 100644 index 00000000000..4f3509cd688 --- /dev/null +++ b/dev_zero_stock_blockage/models/zero_stoack_blockage.py @@ -0,0 +1,19 @@ +from odoo import models, fields, _ +from odoo.exceptions import ValidationError + + +class ZeroStock(models.Model): + _inherit = "sale.order" + + zero_stock_approval = fields.Boolean(string="Approve", default=False) + + def action_confirm(self): + for record in self: + if not record.zero_stock_approval: + for line in record.order_line: + if line.product_id.qty_available <= 0: + raise ValidationError(_( + "You cannot confirm this order because the product has zero stock. " + "Please ask a Sales Manager to toggle the 'Zero Stock Approval' checkbox first!") + ) + return super().action_confirm() diff --git a/dev_zero_stock_blockage/views/sale_zero_stock.xml b/dev_zero_stock_blockage/views/sale_zero_stock.xml new file mode 100644 index 00000000000..a3213b2e70a --- /dev/null +++ b/dev_zero_stock_blockage/views/sale_zero_stock.xml @@ -0,0 +1,14 @@ + + + + zero.stock.blockage + sale.order + + + + + + + + +