diff options
Diffstat (limited to 'fixco_custom/models/detail_order.py')
| -rwxr-xr-x | fixco_custom/models/detail_order.py | 15 |
1 files changed, 10 insertions, 5 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({ |
