From 96012a58c6115809801588ac97553bb00de60601 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 30 Jun 2023 13:40:36 +0700 Subject: Add user activity log api --- indoteknik_api/controllers/api_v1/__init__.py | 1 + indoteknik_api/controllers/api_v1/activity.py | 18 ++++++++++++++++++ indoteknik_api/controllers/controller.py | 1 - 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 indoteknik_api/controllers/api_v1/activity.py (limited to 'indoteknik_api') diff --git a/indoteknik_api/controllers/api_v1/__init__.py b/indoteknik_api/controllers/api_v1/__init__.py index d05cdf3a..2afefb34 100644 --- a/indoteknik_api/controllers/api_v1/__init__.py +++ b/indoteknik_api/controllers/api_v1/__init__.py @@ -1,3 +1,4 @@ +from . import activity from . import banner from . import blog from . import cart diff --git a/indoteknik_api/controllers/api_v1/activity.py b/indoteknik_api/controllers/api_v1/activity.py new file mode 100644 index 00000000..dfc0951c --- /dev/null +++ b/indoteknik_api/controllers/api_v1/activity.py @@ -0,0 +1,18 @@ +from .. import controller +from odoo import http +from odoo.http import request + + +class Activity(controller.Controller): + @http.route('/api/v1/activity', auth='public', csrf=False, methods=['POST', 'OPTIONS']) + @controller.Controller.must_authorized() + def create_user_activity(self, **kw): + user_data = self.verify_user_token() + user_id = user_data['user_id'] if user_data else False + request.env['user.activity.log'].create({ + 'page_title': kw.get('page_title', ''), + 'url': kw.get('url', ''), + 'res_user_id': user_id, + 'ip_address': kw.get('url', '') + }) + return self.response(True) \ No newline at end of file diff --git a/indoteknik_api/controllers/controller.py b/indoteknik_api/controllers/controller.py index 90bc50ed..826f45b4 100644 --- a/indoteknik_api/controllers/controller.py +++ b/indoteknik_api/controllers/controller.py @@ -108,7 +108,6 @@ class Controller(http.Controller): return time def response(self, data=[], code=200, description='OK', headers=[]): - request.env['user.activity.log'].record_activity() response = { 'status': { 'code': code, -- cgit v1.2.3 From 9d9bed911f56afb8b8bd3eba6fdd2f26a6183613 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 30 Jun 2023 14:55:04 +0700 Subject: Fix create user activity api --- indoteknik_api/controllers/api_v1/activity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_api') diff --git a/indoteknik_api/controllers/api_v1/activity.py b/indoteknik_api/controllers/api_v1/activity.py index dfc0951c..142db845 100644 --- a/indoteknik_api/controllers/api_v1/activity.py +++ b/indoteknik_api/controllers/api_v1/activity.py @@ -13,6 +13,6 @@ class Activity(controller.Controller): 'page_title': kw.get('page_title', ''), 'url': kw.get('url', ''), 'res_user_id': user_id, - 'ip_address': kw.get('url', '') + 'ip_address': kw.get('ip_address', '') }) return self.response(True) \ No newline at end of file -- cgit v1.2.3 From a0426045e10729442f7483a9b8ddf825d0e44f62 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 30 Jun 2023 16:18:04 +0700 Subject: Add get ip address function --- indoteknik_api/controllers/controller.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indoteknik_api') diff --git a/indoteknik_api/controllers/controller.py b/indoteknik_api/controllers/controller.py index 826f45b4..0846ccb0 100644 --- a/indoteknik_api/controllers/controller.py +++ b/indoteknik_api/controllers/controller.py @@ -168,6 +168,12 @@ class Controller(http.Controller): def get_api_token(self, **kw): return self.response(request.env['ir.config_parameter'].sudo().get_param('rest_api_token') or '') + @http.route('/api/ip-address', auth='public', methods=['GET']) + def get_ip_address(self): + address = request.httprequest.remote_addr + address = address if address != '127.0.0.1' else False + return self.response(address) + @http.route('/api/image///', auth='public', methods=['GET']) def get_image(self, model, field, id): model = request.env[model].sudo().search([('id', '=', id)], limit=1) -- cgit v1.2.3 From c21a4e6d2341152b9e4f96c2ecc4a791352f63b0 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 30 Jun 2023 16:20:01 +0700 Subject: Add options method on get ip address API --- indoteknik_api/controllers/controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indoteknik_api') diff --git a/indoteknik_api/controllers/controller.py b/indoteknik_api/controllers/controller.py index 0846ccb0..0fcf4814 100644 --- a/indoteknik_api/controllers/controller.py +++ b/indoteknik_api/controllers/controller.py @@ -168,7 +168,7 @@ class Controller(http.Controller): def get_api_token(self, **kw): return self.response(request.env['ir.config_parameter'].sudo().get_param('rest_api_token') or '') - @http.route('/api/ip-address', auth='public', methods=['GET']) + @http.route('/api/ip-address', auth='public', methods=['GET', 'OPTIONS']) def get_ip_address(self): address = request.httprequest.remote_addr address = address if address != '127.0.0.1' else False -- cgit v1.2.3 From 1c472d84a45ba1b6fbed64562f0d6c410b7c306a Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Sat, 1 Jul 2023 09:55:36 +0700 Subject: Add update customer ref on upload po API --- indoteknik_api/controllers/api_v1/sale_order.py | 1 + 1 file changed, 1 insertion(+) (limited to 'indoteknik_api') diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index 671ff5a8..c1665b72 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -153,6 +153,7 @@ class SaleOrder(controller.Controller): sale_order = request.env['sale.order'].search(domain) if sale_order: sale_order.partner_purchase_order_name = params['value']['name'] + sale_order.client_order_ref = params['value']['name'] sale_order.partner_purchase_order_file = params['value']['file'] data = sale_order.id return self.response(data) -- cgit v1.2.3 From b89c7890d68936fe2504540813750909ab9a817e Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Tue, 4 Jul 2023 14:34:46 +0700 Subject: Add default customer type and npwp on checkout API --- indoteknik_api/controllers/api_v1/sale_order.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indoteknik_api') diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index c1665b72..aa211b75 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -266,6 +266,8 @@ class SaleOrder(controller.Controller): 'shipping_paid_by': 'customer', 'carrier_id': params['value']['carrier_id'], 'delivery_service_type': params['value']['delivery_service_type'], + 'customer_type': 'nonpkp', + 'npwp': '0' } if params['value']['type'] == 'sale_order': parameters['approval_status'] = 'pengajuan1' -- cgit v1.2.3 From cc527a815d16bdd6a78874959a63b3a5bd113807 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Thu, 6 Jul 2023 08:09:50 +0700 Subject: Update default variant stock to 1 if none for web --- indoteknik_api/models/product_product.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indoteknik_api') diff --git a/indoteknik_api/models/product_product.py b/indoteknik_api/models/product_product.py index 14fe68cb..a8502dbc 100644 --- a/indoteknik_api/models/product_product.py +++ b/indoteknik_api/models/product_product.py @@ -10,6 +10,8 @@ class ProductProduct(models.Model): product_pricelist_default_discount_id = self.env['ir.config_parameter'].get_param('product.pricelist.default_discount_id') product_pricelist_default_discount_id = int(product_pricelist_default_discount_id) product_template = product_product.product_tmpl_id + stock = product_product.qty_stock_vendor + stock = stock if stock > 0 else 1 data = { 'id': product_product.id, 'parent': { @@ -20,7 +22,7 @@ class ProductProduct(models.Model): 'code': product_product.default_code or '', 'name': product_product.display_name, 'price': self.env['product.pricelist'].compute_price(product_pricelist_default_discount_id, product_product.id), - 'stock': product_product.qty_stock_vendor, + 'stock': stock, 'weight': product_product.weight, 'attributes': [x.name for x in product_product.product_template_attribute_value_ids], 'manufacture' : self.api_manufacture(product_product) -- cgit v1.2.3 From 981d77b17338cf1a0fe2d83c69258a9f3cdebe0f Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Fri, 7 Jul 2023 08:41:13 +0700 Subject: Update product variant api response Set stock to 1 when no stock available --- indoteknik_api/models/product_product.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indoteknik_api') diff --git a/indoteknik_api/models/product_product.py b/indoteknik_api/models/product_product.py index a8502dbc..edf95a58 100644 --- a/indoteknik_api/models/product_product.py +++ b/indoteknik_api/models/product_product.py @@ -63,6 +63,8 @@ class ProductProduct(models.Model): price_discount = flashsale_price discount_percentage = flashsale_discount + stock = product_product.qty_stock_vendor + stock = stock if stock > 0 else 1 product_template = product_product.product_tmpl_id data = { 'id': product_product.id, @@ -78,7 +80,7 @@ class ProductProduct(models.Model): 'discount_percentage': discount_percentage, 'price_discount': price_discount }, - 'stock': product_product.qty_stock_vendor, + 'stock': stock, 'weight': product_product.weight, 'attributes': [x.name for x in product_product.product_template_attribute_value_ids], 'manufacture' : self.api_manufacture(product_product) -- cgit v1.2.3