From 93146912c0f157edb4d4f08b4b17871277bb9677 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Tue, 18 Jul 2023 10:51:31 +0700 Subject: Add cron xml airway bill and update model, api --- indoteknik_api/controllers/api_v1/sale_order.py | 39 ++++++++++---------- indoteknik_custom/models/airway_bill.py | 2 +- indoteknik_custom/views/airway_bill.xml | 47 ++++++++++++++++--------- 3 files changed, 50 insertions(+), 38 deletions(-) diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index 038508c4..c3501db4 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -314,6 +314,24 @@ class SaleOrder(controller.Controller): 'id': sale_order.id, 'name': sale_order.name }) + + @http.route(PREFIX_PARTNER + 'sale_order//awb', auth='public', methods=['GET', 'OPTIONS']) + @controller.Controller.must_authorized(private=True, private_key='partner_id') + def get_airway_bill_by_sale_order_id(self, **kw): + id = kw.get('id') + airway_bill = request.env['airway.bill'].search([('so_id', '=', id)], limit=1) + + data = airway_bill.decode_response() + result = data['rajaongkir']['result'] + + response = { + 'delivery_status': result['delivery_status'], + 'manifest': result['manifest'], + 'delivered': result['delivered'], + 'waybill_number': result['summary']['waybill_number'] + } + + return self.response(response) @http.route('/api/sale_order/invoiced', auth='public', methods=['GET']) def get_sale_order_invoiced_by_partner_id(self, **kw): @@ -418,23 +436,4 @@ class SaleOrder(controller.Controller): } return self.response(data) - - @http.route('/api/sale_order//airway', auth='public', methods=['GET']) - def get_sale_order_airway_bill_by_id(self, **kw): - if not self.authenticate(): - return self.unauthorized_response() - - id = kw.get('id') - airway_bill = request.env['airway.bill'].search([('so_id', '=', id)], limit=1) - - data = airway_bill.decode_response() - result = data['rajaongkir']['result'] - - response = { - 'delivery_status': result['delivery_status'], - 'manifest': result['manifest'], - 'delivered': result['delivered'], - 'waybill_number': result['summary']['waybill_number'] - } - - return self.response(response) \ No newline at end of file + \ No newline at end of file diff --git a/indoteknik_custom/models/airway_bill.py b/indoteknik_custom/models/airway_bill.py index d92b7e5e..7379049f 100644 --- a/indoteknik_custom/models/airway_bill.py +++ b/indoteknik_custom/models/airway_bill.py @@ -41,7 +41,7 @@ class AirwayBill(models.Model): self.ensure_one() return self._json_decode(self.response) - def _update_data_way_bill(self): + def _generate(self): # jne, pos, tiki, wahana, jnt, rpx, sap, sicepat, jet, dse, dan first # 51, 53, 54, 7, 57, 55, 59, 59, 27, 60, 62, 64 current_time = datetime.now() diff --git a/indoteknik_custom/views/airway_bill.xml b/indoteknik_custom/views/airway_bill.xml index 2107bdd7..4f4519db 100644 --- a/indoteknik_custom/views/airway_bill.xml +++ b/indoteknik_custom/views/airway_bill.xml @@ -41,31 +41,31 @@ - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - + + + @@ -82,6 +82,19 @@ tree,form + + Airway Bill: Generate + 1 + days + -1 + + + model._generate() + code + 75 + True + +