summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/sale_order.py
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2023-07-13 08:57:29 +0000
committerIT Fixcomart <it@fixcomart.co.id>2023-07-13 08:57:29 +0000
commit94ff2a962740492614b5f1f09e690ef8dd0b2874 (patch)
tree52c231ad754c966f3517f08c4a03ad43fd2e155e /indoteknik_custom/models/sale_order.py
parentb496b7907c60d8b262ddba42e55dd8485f718fce (diff)
parent5556e2b56a010c78bb79718679d0a0b5b3f780c3 (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-xindoteknik_custom/models/sale_order.py43
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: