summaryrefslogtreecommitdiff
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
parenta6946a980c4bfcce88af440033cdc49498ddb238 (diff)
add button cancel to due extension
-rw-r--r--indoteknik_custom/models/account_move_due_extension.py16
-rwxr-xr-xindoteknik_custom/models/sale_order.py2
-rw-r--r--indoteknik_custom/views/account_move_views.xml4
3 files changed, 20 insertions, 2 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
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index 1a16f462..bf415dbb 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -78,7 +78,7 @@ class SaleOrder(models.Model):
delivery_service_type = fields.Char(string='Delivery Service Type', help='data dari rajaongkir')
grand_total = fields.Monetary(string='Grand Total', help='Amount total + amount delivery', compute='_compute_grand_total')
payment_link_midtrans = fields.Char(string='Payment Link', help='Url payment yg digenerate oleh midtrans, harap diserahkan ke customer agar dapat dilakukan pembayaran secara mandiri')
- due_id = fields.Many2one('due.extension', string="Due Extension", readonly=True)
+ due_id = fields.Many2one('due.extension', string="Due Extension", readonly=True, tracking=True)
customer_type = fields.Selection([
('pkp', 'PKP'),
('nonpkp', 'Non PKP')
diff --git a/indoteknik_custom/views/account_move_views.xml b/indoteknik_custom/views/account_move_views.xml
index d11f3679..0c27ac33 100644
--- a/indoteknik_custom/views/account_move_views.xml
+++ b/indoteknik_custom/views/account_move_views.xml
@@ -47,6 +47,10 @@
string="Ask Approval"
type="object"
/>
+ <button name="due_extension_cancel"
+ string="Cancel"
+ type="object"
+ />
</header>
<sheet>
<group>