diff options
| author | Azka Nathan <darizkyfaz@gmail.com> | 2023-07-07 10:15:45 +0700 |
|---|---|---|
| committer | Azka Nathan <darizkyfaz@gmail.com> | 2023-07-07 10:15:45 +0700 |
| commit | 56df7760109b6e7c322bb8cf6f26b322b5c94bd8 (patch) | |
| tree | 1a69243344017562e6f5cbd031a0a7d1c3ad34fe | |
| parent | a3f31a6b473177a459673bf815d474f7e11d734c (diff) | |
refactor compute field api airway bill
| -rw-r--r-- | indoteknik_custom/models/airway_bill.py | 22 |
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 = '-' |
