diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2023-07-13 08:57:29 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2023-07-13 08:57:29 +0000 |
| commit | 94ff2a962740492614b5f1f09e690ef8dd0b2874 (patch) | |
| tree | 52c231ad754c966f3517f08c4a03ad43fd2e155e /indoteknik_custom/models/sale_order.py | |
| parent | b496b7907c60d8b262ddba42e55dd8485f718fce (diff) | |
| parent | 5556e2b56a010c78bb79718679d0a0b5b3f780c3 (diff) | |
Merged in hotfix/revisi-due-extension (pull request #51)
Hotfix/revisi due extension
Diffstat (limited to 'indoteknik_custom/models/sale_order.py')
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index e54b9ae2..3d0dfc17 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -8,6 +8,7 @@ import string import requests import math import json +from datetime import timedelta, date _logger = logging.getLogger(__name__) @@ -390,26 +391,28 @@ class SaleOrder(models.Model): if self.due_id and self.due_id.is_approve == False: raise UserError('Document Over Due Yang Anda Buat Belum Di Approve') - if not self.env.user.is_leader and not self.env.user.is_sales_manager: - query = [ - ('partner_id', '=', parent_id), - ('state', '=', 'posted'), - ('move_type', '=', 'out_invoice'), - ('amount_residual_signed', '>', 0) - ] - invoices = self.env['account.move'].search(query, order='invoice_date') - due_extension = self.env['due.extension'].create([{ - 'partner_id': parent_id, - 'day_extension': '3', - 'order_id': self.id, - }]) - due_extension.generate_due_line() - self.due_id = due_extension.id - if len(self.due_id.due_line) > 0: - return True - else: - due_extension.unlink() - return False + query = [ + ('partner_id', '=', parent_id), + ('state', '=', 'posted'), + ('move_type', '=', 'out_invoice'), + ('amount_residual_signed', '>', 0) + ] + invoices = self.env['account.move'].search(query, order='invoice_date') + + if invoices: + if not self.env.user.is_leader and not self.env.user.is_sales_manager: + due_extension = self.env['due.extension'].create([{ + 'partner_id': parent_id, + 'day_extension': '3', + 'order_id': self.id, + }]) + due_extension.generate_due_line() + self.due_id = due_extension.id + if len(self.due_id.due_line) > 0: + return True + else: + due_extension.unlink() + return False def _notification_margin_leader(self): if self.total_percent_margin <= 15 and not self.env.user.is_leader: |
