From e59d33ea416afbe5d2e531f524be37c1eeef6015 Mon Sep 17 00:00:00 2001 From: Azka Nathan Date: Mon, 19 Jun 2023 17:08:38 +0700 Subject: Create due extension when approve so --- indoteknik_custom/models/sale_order.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index cbc6a60a..e2693688 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -282,7 +282,18 @@ class SaleOrder(models.Model): def sale_order_approve(self): # raise UserError("Bisa langsung Confirm") self.check_due() + invoices = self.env['account.move'].search([ + ('partner_id', '=', self.partner_id.id), + ('invoice_day_to_due', '<', 0) + ]) + due_extension_obj = self.env['due.extension'] for order in self: + for invoice in invoices: + if invoice.invoice_day_to_due < 0: + value = { + 'invoice_id': invoice.id + } + due_extension_obj.create(value) if order.warehouse_id.id != 8: #GD Bandengan raise UserError('Gudang harus Bandengan') if order.state == 'cancel' or order.state == 'done' or order.state == 'sale': @@ -323,7 +334,9 @@ class SaleOrder(models.Model): elif order.total_percent_margin <= 22 and not self.env.user.is_leader and not self.env.user.is_sales_manager: order.approval_status = 'pengajuan1' elif order._have_outstanding_invoices() and not self.env.user.is_leader and not self.env.user.is_sales_manager: - order.approval_status = 'pengajuan1' + order.approval_status = 'pengajuan1' + elif invoice.invoice_day_to_due < 0: + raise UserError("Anda Harus Memperbarui Due Date di Due Extension") else: raise UserError("Bisa langsung Confirm") -- cgit v1.2.3