diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2024-11-26 13:44:33 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2024-11-26 13:44:33 +0700 |
| commit | 3f3fd6fcaa74cf3e3dd6e73d7ddb95ff537742b8 (patch) | |
| tree | 750643804a564ce22e8dbc0b84f96a0908a04890 /indoteknik_custom/models/vendor_approval.py | |
| parent | 130390b0c4c8c37f5a69d3833f5f1ad9e60e787d (diff) | |
push
Diffstat (limited to 'indoteknik_custom/models/vendor_approval.py')
| -rw-r--r-- | indoteknik_custom/models/vendor_approval.py | 9 |
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) |
