summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/vendor_approval.py
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/vendor_approval.py')
-rw-r--r--indoteknik_custom/models/vendor_approval.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/indoteknik_custom/models/vendor_approval.py b/indoteknik_custom/models/vendor_approval.py
index 4369a193..442aec7a 100644
--- a/indoteknik_custom/models/vendor_approval.py
+++ b/indoteknik_custom/models/vendor_approval.py
@@ -15,7 +15,21 @@ class VendorApproval(models.Model):
partner_id = fields.Many2one('res.partner', string="Customer", readonly=True)
order_id = fields.Many2one('sale.order', string="SO", readonly=True)
vendor_approval_line = fields.One2many('vendor.approval.line', 'vendor_approval_id', string='Vendor Approval Lines', auto_join=True)
+ state = fields.Selection([('draft', 'Draft'), ('done', 'Done'), ('cancel', 'Cancel')], string='State', tracking=True)
+
+ def action_approve(self):
+ if not self.env.user.has_group('indoteknik_custom.group_role_merchandiser'):
+ raise UserError('Hanya Merchandiser yang bisa approve')
+ self.state = 'done'
+ self.order_id.update({'vendor_approval': True})
+ self.order_id.action_confirm()
+
+ def action_reject(self):
+ if not self.env.user.has_group('indoteknik_custom.group_role_merchandiser'):
+ raise UserError('Hanya Merchandiser yang bisa cancel')
+ self.state = 'cancel'
+
def unlink(self):
res = super(VendorApproval, self).unlink()
if not self._name == 'vendor.approval':