From 98c75272a5ee571de134b8e5746a026f1654ed80 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Mon, 11 Nov 2024 15:51:51 +0700 Subject: add message while check plafon qty --- indoteknik_custom/models/purchase_order.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/indoteknik_custom/models/purchase_order.py b/indoteknik_custom/models/purchase_order.py index f5b5979b..a8fd68e9 100755 --- a/indoteknik_custom/models/purchase_order.py +++ b/indoteknik_custom/models/purchase_order.py @@ -589,9 +589,8 @@ class PurchaseOrder(models.Model): for line in self.order_line: if not line.product_id: continue - test = line.product_id.plafon_qty if line.product_uom_qty > line.product_id.plafon_qty: - raise UserError('Product '+line.product_id.name+' melebihi plafon') + raise UserError('Product '+line.product_id.name+' melebihi plafon, harus Approval MD') def button_confirm(self): res = super(PurchaseOrder, self).button_confirm() @@ -751,6 +750,10 @@ class PurchaseOrder(models.Model): reason += 'not link with pj and reorder, ' if not self.matches_so: reason += 'not link with so, ' + # Check Plafon Qty and Get Message every Line Product + greater_than_plafon, message = self._get_msg_plafon_qty() + if greater_than_plafon: + reason += message # Post a highlighted message to lognote self.message_post( body=f"
" @@ -758,6 +761,20 @@ class PurchaseOrder(models.Model): subtype_id=self.env.ref("mail.mt_note").id ) + def _get_msg_plafon_qty(self): + message = '' + greater_than_plafon = False + for line in self.order_line: + if not line.product_id: + continue + if line.product_uom_qty > line.product_id.plafon_qty: + message = (message + line.product_id.default_code + 'melebihi plafon ' + + str(line.product_uom_qty) + ' vs ' + str(line.product_id.plafon_qty) + + ', ') + greater_than_plafon = True + print(1) + return greater_than_plafon, message + def re_calculate(self): if self.from_apo: self.re_calculate_from_apo() -- cgit v1.2.3