summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/account_move_due_extension.py
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2023-06-27 11:45:07 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2023-06-27 11:45:07 +0700
commit0c7c0ad2e8dca7a1e47cd5a13642543f01a74afd (patch)
tree773bbedbf70ed6d33c0ade8d18101ea71f87179c /indoteknik_custom/models/account_move_due_extension.py
parenta6946a980c4bfcce88af440033cdc49498ddb238 (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.py16
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