summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/vendor_approval.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2024-11-26 13:44:33 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2024-11-26 13:44:33 +0700
commit3f3fd6fcaa74cf3e3dd6e73d7ddb95ff537742b8 (patch)
tree750643804a564ce22e8dbc0b84f96a0908a04890 /indoteknik_custom/models/vendor_approval.py
parent130390b0c4c8c37f5a69d3833f5f1ad9e60e787d (diff)
push
Diffstat (limited to 'indoteknik_custom/models/vendor_approval.py')
-rw-r--r--indoteknik_custom/models/vendor_approval.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/indoteknik_custom/models/vendor_approval.py b/indoteknik_custom/models/vendor_approval.py
index ad323c29..01d2e6a2 100644
--- a/indoteknik_custom/models/vendor_approval.py
+++ b/indoteknik_custom/models/vendor_approval.py
@@ -35,9 +35,16 @@ class VendorApproval(models.Model):
vals['number'] = self.env['ir.sequence'].next_by_code('vendor.approval') or '0'
result = super(VendorApproval, self).create(vals)
return result
+
+ def check_state_so(self):
+ for rec in self:
+ if rec.order_id.state != 'draft':
+ raise UserError(f"SO {rec.order_id.name} sudah tidak bisa diubah")
+
def action_approve(self):
for rec in self:
+ self.check_state_so()
if not self.env.user.has_group('indoteknik_custom.group_role_merchandiser'):
raise UserError('Hanya Merchandiser yang bisa approve')
@@ -57,12 +64,14 @@ class VendorApproval(models.Model):
def action_reject(self):
for rec in self:
+ self.check_state_so()
if not self.env.user.has_group('indoteknik_custom.group_role_merchandiser'):
raise UserError('Hanya Merchandiser yang bisa cancel')
rec.state = 'cancel'
rec.order_line_id.vendor_id = rec.vendor_md_id.id
+ rec.order_line_id.purchase_price = rec.purchase_price_md
message = "Vendor Approval rejected by %s" % (self.env.user.name)
self.order_id.message_post(body=message)