summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers/api_v1
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-02-22 15:52:47 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-02-22 15:52:47 +0700
commit73f5869798fc5ec69d84306139de55acaca06489 (patch)
treea3436043447db0619bba3fa854b95474f9a3f463 /indoteknik_api/controllers/api_v1
parent2a5d4886d2924ef9dae451c841dc3bae9478f9ab (diff)
parentb9eddb17ac8eeed2b8af734844bb1149ec4184eb (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__.py1
-rw-r--r--indoteknik_api/controllers/api_v1/midtrans.py25
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py6
-rw-r--r--indoteknik_api/controllers/api_v1/wati.py20
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