diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2023-06-27 11:45:07 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2023-06-27 11:45:07 +0700 |
| commit | 0c7c0ad2e8dca7a1e47cd5a13642543f01a74afd (patch) | |
| tree | 773bbedbf70ed6d33c0ade8d18101ea71f87179c /indoteknik_custom/models/account_move_due_extension.py | |
| parent | a6946a980c4bfcce88af440033cdc49498ddb238 (diff) | |
add button cancel to due extension
Diffstat (limited to 'indoteknik_custom/models/account_move_due_extension.py')
| -rw-r--r-- | indoteknik_custom/models/account_move_due_extension.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/indoteknik_custom/models/account_move_due_extension.py b/indoteknik_custom/models/account_move_due_extension.py index 2e52f66c..93dfe62b 100644 --- a/indoteknik_custom/models/account_move_due_extension.py +++ b/indoteknik_custom/models/account_move_due_extension.py @@ -11,7 +11,7 @@ class DueExtension(models.Model): _inherit = ['mail.thread'] _rec_name = 'number' - number = fields.Char(string='Document No', index=True, copy=False, readonly=True) + number = fields.Char(string='Document No', index=True, copy=False, readonly=True, tracking=True) partner_id = fields.Many2one('res.partner', string="Customer", readonly=True) order_id = fields.Many2one('sale.order', string="SO", readonly=True) due_line = fields.One2many('due.extension.line', 'due_id', string='Due Extension Lines', auto_join=True) @@ -42,6 +42,20 @@ class DueExtension(models.Model): elif self.approval_status == 'approved': raise UserError('Document sudah di approve') + def due_extension_cancel(self): + if self.env.user.is_accounting: + if not self.approval_status or self.approval_status == 'pengajuan': + self.approval_status = False + sales = self.env['sale.order'].search([ + ('id', '=', self.order_id.id) + ]) + + sales.action_cancel() + elif self.approval_status == 'approved': + raise UserError('Document sudah di approve, Tidak bisa di cancel') + else: + raise UserError('Hanya Finance yang bisa cancel') + def approve_new_due(self): if self.env.user.is_accounting: self.is_approve = True |
