summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2023-07-14 11:04:57 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2023-07-14 11:04:57 +0700
commitf53828b3df693a88ec7cfff8b323178f3550a9b2 (patch)
treeebc4d784590a9c0743e69988d901fed4c95ea741
parent41d0bc25d569901de38f77f0ba452e33630d01f0 (diff)
refactor tracking history due extension
-rw-r--r--indoteknik_custom/models/account_move.py54
-rw-r--r--indoteknik_custom/models/account_move_due_extension.py27
-rw-r--r--indoteknik_custom/views/account_move.xml6
3 files changed, 29 insertions, 58 deletions
diff --git a/indoteknik_custom/models/account_move.py b/indoteknik_custom/models/account_move.py
index f479b4a9..7edeb0d9 100644
--- a/indoteknik_custom/models/account_move.py
+++ b/indoteknik_custom/models/account_move.py
@@ -19,7 +19,7 @@ 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.line', 'move_id', string='Due Extension Lines', auto_join=True)
+ due_line = fields.One2many('due.extension.line', 'invoice_id', string='Due Extension Lines')
def unlink(self):
res = super(AccountMove, self).unlink()
@@ -107,54 +107,4 @@ class AccountMove(models.Model):
add_days += line.days
due_date = tukar_date + timedelta(days=add_days)
invoice.invoice_date_due = due_date
-
- def generate_due_line(self):
- partners = self.partner_id.get_child_ids()
-
- query = [
- ('due_line.invoice_id', '=', self.id),
- ('due_line.day_to_due', '<', 0),
- ('approval_status', '=', False),
- ]
- due = self.env['due.extension'].search(query)
- count = 0
-
- for line in due:
- self.env['due.line'].create([{
- 'move_id': self.id,
- 'due_id': line.id,
- }])
- count += 1
- _logger.info("Due Extension Line generated %s" % count)
-
-class DueExtensionLine(models.Model):
- _name = 'due.line'
- _description = 'Due Extension Line'
- _order = 'move_id, id'
-
- move_id = fields.Many2one('account.move', string='Acc Move Ref', required=True, ondelete='cascade', index=True, copy=False)
- due_id = fields.Many2one('due.extension', string='Due Extension')
- description = fields.Text(string='Description', compute="compute_description")
- day_extension = fields.Char(string='Day Extension', compute="compute_day_extension")
- approval_status = fields.Char(string='Status Approval', compute="compute_approval_status")
-
- def compute_description(self):
- for line in self:
- if line.due_id.description:
- line.description = line.due_id.description
- else:
- line.description = '-'
-
- def compute_day_extension(self):
- for line in self:
- if line.due_id.day_extension:
- line.day_extension = line.due_id.day_extension
- else:
- line.day_extension = '-'
-
- def compute_approval_status(self):
- for line in self:
- if line.due_id.approval_status:
- line.approval_status = line.due_id.approval_status
- else:
- line.approval_status = '-' \ No newline at end of file
+ \ No newline at end of file
diff --git a/indoteknik_custom/models/account_move_due_extension.py b/indoteknik_custom/models/account_move_due_extension.py
index 51d59e61..18bb7599 100644
--- a/indoteknik_custom/models/account_move_due_extension.py
+++ b/indoteknik_custom/models/account_move_due_extension.py
@@ -120,9 +120,6 @@ class DueExtension(models.Model):
'open_amt': invoice.amount_residual_signed
}])
count += 1
-
- invoice.generate_due_line()
-
invoice.counter+=1
_logger.info("Due Extension Line generated %s" % count)
@@ -141,6 +138,9 @@ class DueExtensionLine(models.Model):
_order = 'due_id, id'
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_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')
date_invoice = fields.Date(string='Invoice Date')
@@ -151,6 +151,27 @@ class DueExtensionLine(models.Model):
due_date = fields.Date(string='Due Date', compute="_compute_due_date")
day_to_due = fields.Integer(string='Day To Due', compute="_compute_day_to_due")
+ 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 = '-'
+
+ 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 = '-'
+
+ 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 = '-'
+
def _compute_day_to_due(self):
for line in self:
line.day_to_due = line.invoice_id.invoice_day_to_due
diff --git a/indoteknik_custom/views/account_move.xml b/indoteknik_custom/views/account_move.xml
index 5aeff4ec..8cc8d723 100644
--- a/indoteknik_custom/views/account_move.xml
+++ b/indoteknik_custom/views/account_move.xml
@@ -23,9 +23,9 @@
<field name="due_line">
<tree create="false">
<field name="due_id"/>
- <field name="description"/>
- <field name="day_extension"/>
- <field name="approval_status"/>
+ <field name="due_description"/>
+ <field name="due_day_extension"/>
+ <field name="due_approval_status"/>
</tree>
</field>
</page>