summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/mrp_production.py
diff options
context:
space:
mode:
authorFIN-IT_AndriFP <it@fixcomart.co.id>2025-10-06 09:45:36 +0700
committerFIN-IT_AndriFP <it@fixcomart.co.id>2025-10-06 09:45:36 +0700
commit5e34ad0df7287da35089c29812a208d15598aa06 (patch)
tree2f3dc62e050569a604bc52d2eb18ea98fb9c1981 /indoteknik_custom/models/mrp_production.py
parent3a6a1723928fb250f08376107be006b0567a3f1a (diff)
parentd3fc7f9dfbd3df9687c9531813ac59c3318c6b43 (diff)
Merge branch 'odoo-backup' of https://bitbucket.org/altafixco/indoteknik-addons into pum-v3
Diffstat (limited to 'indoteknik_custom/models/mrp_production.py')
-rw-r--r--indoteknik_custom/models/mrp_production.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/indoteknik_custom/models/mrp_production.py b/indoteknik_custom/models/mrp_production.py
index b39995b5..30956082 100644
--- a/indoteknik_custom/models/mrp_production.py
+++ b/indoteknik_custom/models/mrp_production.py
@@ -21,6 +21,22 @@ class MrpProduction(models.Model):
], string='Status Reserve', tracking=True, copy=False, help="The current state of the stock picking.")
date_reserved = fields.Datetime(string="Date Reserved", help='Tanggal ter-reserved semua barang nya', copy=False)
+ def action_cancel(self):
+ for production in self:
+ moves_with_forecast = production.move_raw_ids.filtered(
+ lambda m: m.reserved_availability > 0
+ )
+
+ if moves_with_forecast:
+ # bikin list produk per baris
+ product_list = "\n".join(
+ "- %s" % p.display_name for p in moves_with_forecast.mapped('product_id')
+ )
+ raise UserError(_(
+ "You cannot cancel this Manufacturing Order because the following raw materials "
+ "still have forecast availability:\n\n%s" % product_list
+ ))
+ return super(MrpProduction, self).action_cancel()
@api.constrains('check_bom_product_lines')
def constrains_check_bom_product_lines(self):