From 3f3fd6fcaa74cf3e3dd6e73d7ddb95ff537742b8 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Tue, 26 Nov 2024 13:44:33 +0700 Subject: push --- indoteknik_custom/models/vendor_approval.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'indoteknik_custom/models/vendor_approval.py') 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) -- cgit v1.2.3