diff options
| -rwxr-xr-x | fixco_custom/models/detail_order.py | 15 | ||||
| -rw-r--r-- | fixco_custom/models/stock_picking_return.py | 2 |
2 files changed, 11 insertions, 6 deletions
diff --git a/fixco_custom/models/detail_order.py b/fixco_custom/models/detail_order.py index 674f11a..847c41e 100755 --- a/fixco_custom/models/detail_order.py +++ b/fixco_custom/models/detail_order.py @@ -5,7 +5,7 @@ import requests import json import hmac import base64 -from datetime import datetime +from datetime import datetime, timezone from hashlib import sha256 import logging @@ -68,7 +68,7 @@ class DetailOrder(models.Model): # rec.execute_queue() def process_queue_item(self, limit=100): - domain = [('execute_status', '=', False)] + domain = [('execute_status', '=', False), ('source', '=', 'webhook')] records = self.search(domain, order='create_date asc', limit=limit) for rec in records: rec.execute_queue() @@ -324,12 +324,14 @@ class DetailOrder(models.Model): create_at_str = json_data.get('data', [{}])[0].get('createAt') if create_at_str: - create_at = datetime.strptime(create_at_str, "%Y-%m-%dT%H:%M:%SZ") + create_at = datetime.strptime( + create_at_str, + "%Y-%m-%dT%H:%M:%SZ" + ).replace(tzinfo=timezone.utc) - cutoff = datetime(2026, 1, 1) # 1 Jan 2026 UTC + cutoff = datetime(2026, 1, 1, 0, 0, tzinfo=timezone.utc) if create_at >= cutoff: - if order_status == 'CANCELLED': external_order_id = json_data.get('data', [{}])[0].get('externalOrderId') order_id = json_data.get('data', [{}])[0].get('orderId') @@ -420,6 +422,9 @@ class DetailOrder(models.Model): self.execute_status = 'so_confirm' else: self.execute_status = 'so_draft' + else: + self.execute_status = 'failed' + self.message_error = "Tanggal order di bawah 1 januari 2026" except Exception as e: self.write({ diff --git a/fixco_custom/models/stock_picking_return.py b/fixco_custom/models/stock_picking_return.py index 2e57241..625f84d 100644 --- a/fixco_custom/models/stock_picking_return.py +++ b/fixco_custom/models/stock_picking_return.py @@ -10,7 +10,7 @@ class ReturnPicking(models.TransientModel): def create_returns(self): if ( - self.env.user.id not in [12, 10, 2, 15,] + self.env.user.id not in [12, 10, 2, 15, 22] and 'BU/IN' in self.picking_id.name and 'PO/' in self.picking_id.origin and self.picking_id.picking_type_code == 'incoming' |
