diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2023-07-17 05:57:34 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2023-07-17 05:57:34 +0000 |
| commit | 5b1c2054e3ca176a3705c6d0a84e33867ad1c945 (patch) | |
| tree | a9d46660db72cf98f8292cc774fe9393b984eb45 | |
| parent | 94ff2a962740492614b5f1f09e690ef8dd0b2874 (diff) | |
| parent | 4170cd7bd55232de0a66880351421b054a97849b (diff) | |
Merged in hotfix/revisi-due-extension (pull request #53)
Hotfix/revisi due extension
| -rw-r--r-- | indoteknik_custom/models/account_move.py | 13 | ||||
| -rw-r--r-- | indoteknik_custom/models/account_move_due_extension.py | 21 | ||||
| -rw-r--r-- | indoteknik_custom/views/account_move.xml | 13 |
3 files changed, 47 insertions, 0 deletions
diff --git a/indoteknik_custom/models/account_move.py b/indoteknik_custom/models/account_move.py index 99439915..bc6061ee 100644 --- a/indoteknik_custom/models/account_move.py +++ b/indoteknik_custom/models/account_move.py @@ -1,6 +1,9 @@ from odoo import models, api, fields from odoo.exceptions import AccessError, UserError, ValidationError from datetime import timedelta, date +import logging + +_logger = logging.getLogger(__name__) class AccountMove(models.Model): @@ -15,6 +18,15 @@ class AccountMove(models.Model): shipper_faktur_id = fields.Many2one('delivery.carrier', string='Shipper Faktur') 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', 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() @@ -102,3 +114,4 @@ class AccountMove(models.Model): add_days += line.days due_date = tukar_date + timedelta(days=add_days) invoice.invoice_date_due = due_date +
\ 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 27c8577d..43207534 100644 --- a/indoteknik_custom/models/account_move_due_extension.py +++ b/indoteknik_custom/models/account_move_due_extension.py @@ -120,7 +120,10 @@ class DueExtension(models.Model): 'open_amt': invoice.amount_residual_signed }]) count += 1 + invoice.counter+=1 + _logger.info("Due Extension Line generated %s" % count) + def unlink(self): res = super(DueExtension, self).unlink() @@ -135,6 +138,12 @@ 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.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') date_invoice = fields.Date(string='Invoice Date') @@ -145,6 +154,18 @@ 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: + line.due_description = line.due_id.description + + def _compute_due_approval_status(self): + for line in self: + line.due_approval_status = line.due_id.approval_status + + def _compute_due_day_extension(self): + for line in self: + line.due_day_extension = line.due_id.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 7f7fb228..a1d3eaaa 100644 --- a/indoteknik_custom/views/account_move.xml +++ b/indoteknik_custom/views/account_move.xml @@ -16,7 +16,20 @@ <field name="resi_tukar_faktur"/> <field name="date_terima_tukar_faktur"/> <field name="due_extension"/> + <field name="counter"/> </field> + <notebook position="inside"> + <page string="Due Extension"> + <field name="due_line"> + <tree> + <field name="due_id"/> + <field name="due_description"/> + <field name="due_day_extension"/> + <field name="due_approval_status"/> + </tree> + </field> + </page> + </notebook> </field> </record> |
