diff options
Diffstat (limited to 'indoteknik_custom/models/vendor_approval.py')
| -rw-r--r-- | indoteknik_custom/models/vendor_approval.py | 14 |
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': |
