diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2023-07-17 09:08:34 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2023-07-17 09:08:34 +0700 |
| commit | 4170cd7bd55232de0a66880351421b054a97849b (patch) | |
| tree | f0fae8d08391f91c16a252e61b2d6dd3e343e743 | |
| parent | fca6864d2a5be42a185e8f2360f96cffcde75388 (diff) | |
refactor tracking history due extension on invoice
| -rw-r--r-- | indoteknik_custom/models/account_move.py | 9 | ||||
| -rw-r--r-- | indoteknik_custom/models/account_move_due_extension.py | 20 | ||||
| -rw-r--r-- | indoteknik_custom/views/account_move.xml | 2 |
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"/> |
