summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2023-07-17 09:08:34 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2023-07-17 09:08:34 +0700
commit4170cd7bd55232de0a66880351421b054a97849b (patch)
treef0fae8d08391f91c16a252e61b2d6dd3e343e743
parentfca6864d2a5be42a185e8f2360f96cffcde75388 (diff)
refactor tracking history due extension on invoice
-rw-r--r--indoteknik_custom/models/account_move.py9
-rw-r--r--indoteknik_custom/models/account_move_due_extension.py20
-rw-r--r--indoteknik_custom/views/account_move.xml2
3 files changed, 16 insertions, 15 deletions
diff --git a/indoteknik_custom/models/account_move.py b/indoteknik_custom/models/account_move.py
index 7edeb0d9..bc6061ee 100644
--- a/indoteknik_custom/models/account_move.py
+++ b/indoteknik_custom/models/account_move.py
@@ -19,7 +19,14 @@ class AccountMove(models.Model):
due_extension = fields.Integer(string='Due Extension', default=0)
new_due_date = fields.Date(string='New Due')
counter = fields.Integer(string="Counter", default=0)
- due_line = fields.One2many('due.extension.line', 'invoice_id', string='Due Extension Lines')
+ due_line = fields.One2many('due.extension.line', 'invoice_id', compute='_compute_due_line', string='Due Extension Lines')
+
+ def _compute_due_line(self):
+ for invoice in self:
+ invoice.due_line = self.env['due.extension.line'].search([
+ ('invoice_id', '=', invoice.id),
+ ('due_id.approval_status', '=', 'approved')
+ ])
def unlink(self):
res = super(AccountMove, self).unlink()
diff --git a/indoteknik_custom/models/account_move_due_extension.py b/indoteknik_custom/models/account_move_due_extension.py
index 18bb7599..43207534 100644
--- a/indoteknik_custom/models/account_move_due_extension.py
+++ b/indoteknik_custom/models/account_move_due_extension.py
@@ -139,7 +139,10 @@ class DueExtensionLine(models.Model):
due_id = fields.Many2one('due.extension', string='Due Ref', required=True, ondelete='cascade', index=True, copy=False)
due_description = fields.Text(string="Description", compute="_compute_due_description")
- due_approval_status = fields.Char(string="Approval Status", compute="_compute_due_approval_status")
+ due_approval_status = fields.Selection([
+ ('pengajuan', 'Pengajuan'),
+ ('approved', 'Approved'),
+ ], string="Approval Status", compute="_compute_due_approval_status")
due_day_extension = fields.Char(string="Day Extension", compute="_compute_due_day_extension")
partner_id = fields.Many2one('res.partner', string='Customer')
invoice_id = fields.Many2one('account.move', string='Invoice')
@@ -153,24 +156,15 @@ class DueExtensionLine(models.Model):
def _compute_due_description(self):
for line in self:
- if line.due_id.description:
- line.due_description = line.due_id.description
- else:
- line.due_description = '-'
+ line.due_description = line.due_id.description
def _compute_due_approval_status(self):
for line in self:
- if line.due_id.approval_status:
- line.due_approval_status = line.due_id.approval_status
- else:
- line.due_approval_status = '-'
+ line.due_approval_status = line.due_id.approval_status
def _compute_due_day_extension(self):
for line in self:
- if line.due_id.day_extension:
- line.due_day_extension = line.due_id.day_extension
- else:
- line.due_day_extension = '-'
+ line.due_day_extension = line.due_id.day_extension
def _compute_day_to_due(self):
for line in self:
diff --git a/indoteknik_custom/views/account_move.xml b/indoteknik_custom/views/account_move.xml
index 8cc8d723..a1d3eaaa 100644
--- a/indoteknik_custom/views/account_move.xml
+++ b/indoteknik_custom/views/account_move.xml
@@ -21,7 +21,7 @@
<notebook position="inside">
<page string="Due Extension">
<field name="due_line">
- <tree create="false">
+ <tree>
<field name="due_id"/>
<field name="due_description"/>
<field name="due_day_extension"/>