From ca21d92d64d9d8574cbfa4c227989f05d6ca9f0b Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Thu, 27 Oct 2022 09:44:32 +0700 Subject: Update dunning_run.py and dunning_run.xml --- indoteknik_custom/models/dunning_run.py | 30 ++++++++++++++++++++++++++++++ indoteknik_custom/views/dunning_run.xml | 7 ++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/indoteknik_custom/models/dunning_run.py b/indoteknik_custom/models/dunning_run.py index b6531c5c..5d98bb98 100644 --- a/indoteknik_custom/models/dunning_run.py +++ b/indoteknik_custom/models/dunning_run.py @@ -1,4 +1,8 @@ from odoo import models, api, fields +from odoo.exceptions import AccessError, UserError, ValidationError +import logging + +_logger = logging.getLogger(__name__) class DunningRun(models.Model): @@ -14,6 +18,32 @@ class DunningRun(models.Model): dunning_line = fields.One2many('dunning.run.line', 'dunning_id', string='Dunning Lines', auto_join=True) dunning_level = fields.Integer(string='Dunning Level', default=30, help='30 hari sebelum jatuh tempo invoice') + def generate_dunning_line(self): + # validation + if not self.partner_id: + raise UserError('Customer harus diisi') + if self.dunning_level <= 0: + raise UserError('Dunning Level harus diisi lebih dari 0') + + invoices = self.env['account.move'].search([ + ('amount_residual_signed', '>', 0), + ('partner_id', '=', self.partner_id), + ('move_type', '=', 'out_invoice'), + ('state', '=', 'posted'), + ]) + count = 0 + for invoice in invoices: + self.env['dunning.run.line'].create([{ + 'dunning_id': self.id, + 'invoice_id': invoice.id, + 'date_invoice': invoice.invoice_date, + 'efaktur_id': invoice.efaktur_id, + 'reference': invoice.ref, + 'open_amt': invoice.amount_residual_signed + }]) + count += 1 + _logger.info("Dunning Line generated %s" % count) + class DunningRunLine(models.Model): _name = 'dunning.run.line' diff --git a/indoteknik_custom/views/dunning_run.xml b/indoteknik_custom/views/dunning_run.xml index b0bf8654..b18748ea 100644 --- a/indoteknik_custom/views/dunning_run.xml +++ b/indoteknik_custom/views/dunning_run.xml @@ -33,13 +33,18 @@ dunning.run
- +
+