diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-22 15:52:47 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-22 15:52:47 +0700 |
| commit | 73f5869798fc5ec69d84306139de55acaca06489 (patch) | |
| tree | a3436043447db0619bba3fa854b95474f9a3f463 /indoteknik_api/controllers/api_v1 | |
| parent | 2a5d4886d2924ef9dae451c841dc3bae9478f9ab (diff) | |
| parent | b9eddb17ac8eeed2b8af734844bb1149ec4184eb (diff) | |
Merge branch 'staging' of bitbucket.org:altafixco/indoteknik-addons into staging
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/__init__.py | 1 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/midtrans.py | 25 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 6 | ||||
| -rw-r--r-- | indoteknik_api/controllers/api_v1/wati.py | 20 |
4 files changed, 40 insertions, 12 deletions
diff --git a/indoteknik_api/controllers/api_v1/__init__.py b/indoteknik_api/controllers/api_v1/__init__.py index 63540928..df89fcaf 100644 --- a/indoteknik_api/controllers/api_v1/__init__.py +++ b/indoteknik_api/controllers/api_v1/__init__.py @@ -20,3 +20,4 @@ from . import brand_homepage from . import customer from . import content from . import midtrans +from . import wati diff --git a/indoteknik_api/controllers/api_v1/midtrans.py b/indoteknik_api/controllers/api_v1/midtrans.py index fdc801d3..49ebce0f 100644 --- a/indoteknik_api/controllers/api_v1/midtrans.py +++ b/indoteknik_api/controllers/api_v1/midtrans.py @@ -8,19 +8,20 @@ class Midtrans(controller.Controller): prefix = '/api/v1/' @http.route(prefix + 'midtrans/notification', auth='none', type='json', csrf=False, cors='*', methods=['POST', 'OPTIONS']) - def notification(self, **kw): + def midtrans_notification(self, **kw): json_raw = json.loads(request.httprequest.data) - trx_status = json.loads(request.httprequest.data)['transaction_status'] - order_no = json.loads(request.httprequest.data)['order_id'] + json_dump = json.dumps(json_raw, indent=4, sort_keys=True) + # trx_status = json.loads(request.httprequest.data)['transaction_status'] + # order_no = json.loads(request.httprequest.data)['order_id'] - query = [('name', '=', order_no)] - order = request.env['sale.order'].sudo().search(query, limit=1) - order.payment_status = trx_status + # query = [('name', '=', order_no)] + # order = request.env['sale.order'].sudo().search(query, limit=1) + # order.payment_status = trx_status request.env['midtrans.notification'].create([{ - 'sale_order_id': order.id, - 'json_raw': json_raw, - 'payment_status': trx_status, + # 'sale_order_id': order.id, + 'json_raw': json_dump, + # 'payment_status': trx_status, }]) return @@ -28,15 +29,17 @@ class Midtrans(controller.Controller): @http.route(prefix + 'midtrans/recurring', auth='none', type='json', csrf=False, cors='*', methods=['POST', 'OPTIONS']) def recurring(self, **kw): json_raw = json.loads(request.httprequest.data) + json_dump = json.dumps(json_raw, indent=4, sort_keys=True) request.env['midtrans.recurring'].create([{ - 'json_raw': json_raw, + 'json_raw': json_dump, }]) return @http.route(prefix + 'midtrans/payaccount', auth='none', type='json', csrf=False, cors='*', methods=['POST', 'OPTIONS']) def payaccount(self, **kw): json_raw = json.loads(request.httprequest.data) + json_dump = json.dumps(json_raw, indent=4, sort_keys=True) request.env['midtrans.account'].create([{ - 'json_raw': json_raw, + 'json_raw': json_dump, }]) return
\ No newline at end of file diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index 8fe4b1d5..15dcf0ba 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -36,10 +36,14 @@ class SaleOrder(controller.Controller): data.append({ 'id': sale.id, 'name': sale.name, - 'amount_total': sale.amount_total, + 'date_order': self.time_to_str(sale.date_order, '%d/%m/%Y %H:%M:%S'), 'state': sale.state, + 'amount_untaxed': sale.amount_untaxed, + 'amount_tax': sale.amount_tax, + 'amount_total': sale.amount_total, 'product_name': product_name, 'product_not_in_id': product_not_in_id, + 'details': [request.env['sale.order.line'].api_single_response(x, context='with_detail') for x in sale.order_line] }) return self.response(data) diff --git a/indoteknik_api/controllers/api_v1/wati.py b/indoteknik_api/controllers/api_v1/wati.py new file mode 100644 index 00000000..68ff1640 --- /dev/null +++ b/indoteknik_api/controllers/api_v1/wati.py @@ -0,0 +1,20 @@ +from .. import controller +from odoo import http +from odoo.http import request +import json + + +class Wati(controller.Controller): + prefix = '/api/v1/' + + @http.route(prefix + 'wati/notification', auth='none', type='json', csrf=False, cors='*', methods=['POST', 'OPTIONS']) + def notification(self, **kw): + json_raw = json.loads(request.httprequest.data) + json_dump = json.dumps(json_raw, indent=4, sort_keys=True) + + request.env['wati.notification'].create([{ + 'json_raw': json_dump, + 'is_lead': False + }]) + + return |
