summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzka Nathan <darizkyfaz@gmail.com>2023-07-07 10:15:45 +0700
committerAzka Nathan <darizkyfaz@gmail.com>2023-07-07 10:15:45 +0700
commit56df7760109b6e7c322bb8cf6f26b322b5c94bd8 (patch)
tree1a69243344017562e6f5cbd031a0a7d1c3ad34fe
parenta3f31a6b473177a459673bf815d474f7e11d734c (diff)
refactor compute field api airway bill
-rw-r--r--indoteknik_custom/models/airway_bill.py22
1 files changed, 11 insertions, 11 deletions
diff --git a/indoteknik_custom/models/airway_bill.py b/indoteknik_custom/models/airway_bill.py
index 8429d250..edbaf671 100644
--- a/indoteknik_custom/models/airway_bill.py
+++ b/indoteknik_custom/models/airway_bill.py
@@ -106,18 +106,18 @@ class AirwayBill(models.Model):
response = self.decode_response()
if not response:
return response
- return response['raja_ongkir']['result'][key]
+ return response.get('raja_ongkir', {}).get('result', {}).get(key)
def _compute_way_bill(self, airway, key, attribute):
details = airway._get_history('details')
delivery_status = airway._get_history('delivery_status')
- if details:
- setattr(airway, attribute, details[key])
- elif delivery_status:
- setattr(airway, attribute, delivery_status[key])
- else:
- setattr(airway, attribute, '-')
-
+ value = None
+ if key in details:
+ value = details.get(key)
+ elif key in delivery_status:
+ value = delivery_status.get(key)
+ setattr(airway, attribute, value if value else '-')
+
def _compute_way_bill_datetime(self):
for airway in self:
self._compute_way_bill(airway, 'waybill_date', 'way_bill_date')
@@ -136,7 +136,7 @@ class AirwayBill(models.Model):
def _compute_way_bill_shipper_name(self):
for airway in self:
- self._compute_way_bill(airway, 'shipper_name', 'shipper_name')
+ self._compute_way_bill(airway, 'shippper_name', 'shipper_name')
def _compute_way_bill_shipper_address1(self):
for airway in self:
@@ -181,14 +181,14 @@ class AirwayBill(models.Model):
def _compute_way_bill_pod_receiver(self):
for airway in self:
self._compute_way_bill(airway, 'pod_receiver', 'pod_receiver')
-
+
def _compute_way_bill_pod_datetime(self):
for airway in self:
details = airway._get_history('delivery_status')
if details:
pod_date = details['pod_date']
pod_time = details['pod_time']
- airway.pod_datetime = pod_date + ' ' + pod_time
+ airway.pod_datetime = pod_date+' '+pod_time
else:
airway.pod_datetime = '-'