summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-01-27 11:08:33 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-01-27 11:08:33 +0700
commit3afc9d7c40a2fe9858aaa69b79ebdb52ccfa0830 (patch)
treee43b5c6947a6b999de80d73790a1f5ff30a0822f /indoteknik_api/controllers
parentf9588e353ebaf672a9b270ba871aad83792bfe34 (diff)
parent5ddf58175a447ecf728025c8615262a423f1313a (diff)
Merge branch 'staging' of bitbucket.org:altafixco/indoteknik-addons into staging
Diffstat (limited to 'indoteknik_api/controllers')
-rw-r--r--indoteknik_api/controllers/api_v1/__init__.py1
-rw-r--r--indoteknik_api/controllers/api_v1/midtrans.py42
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py2
3 files changed, 44 insertions, 1 deletions
diff --git a/indoteknik_api/controllers/api_v1/__init__.py b/indoteknik_api/controllers/api_v1/__init__.py
index a4776503..ab499443 100644
--- a/indoteknik_api/controllers/api_v1/__init__.py
+++ b/indoteknik_api/controllers/api_v1/__init__.py
@@ -18,3 +18,4 @@ from . import wishlist
from . import brand_homepage
from . import customer
from . import content
+from . import midtrans
diff --git a/indoteknik_api/controllers/api_v1/midtrans.py b/indoteknik_api/controllers/api_v1/midtrans.py
new file mode 100644
index 00000000..fdc801d3
--- /dev/null
+++ b/indoteknik_api/controllers/api_v1/midtrans.py
@@ -0,0 +1,42 @@
+from .. import controller
+from odoo import http
+from odoo.http import request
+import json
+
+
+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):
+ 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']
+
+ 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,
+ }])
+
+ return
+
+ @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)
+ request.env['midtrans.recurring'].create([{
+ 'json_raw': json_raw,
+ }])
+ 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)
+ request.env['midtrans.account'].create([{
+ 'json_raw': json_raw,
+ }])
+ 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 47cb2d59..7ce8cd43 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -127,7 +127,7 @@ class SaleOrder(controller.Controller):
'partner_purchase_order_file': params['value']['po_file']
}
sale_order = request.env['sale.order'].create([[parameters]])
-
+ var = json.loads(kw.get('transaction_time', '{}'))
order_line = json.loads(params['value']['order_line'])
parameters = []
for line in order_line: