summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2024-11-11 15:51:51 +0700
committerstephanchrst <stephanchrst@gmail.com>2024-11-11 15:51:51 +0700
commit98c75272a5ee571de134b8e5746a026f1654ed80 (patch)
treeb702f8f69dd8a48c96d01f65ab192b2575fe7387
parent8fd1bb1a05f0b98ca25750abb2f75c13e44b623e (diff)
add message while check plafon qty
-rwxr-xr-xindoteknik_custom/models/purchase_order.py21
1 files 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"<div style='background-color: #fdf2e9; border: 1px solid #f5c6cb; padding: 10px;'>"
@@ -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()