summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-04-18 15:45:05 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-04-18 15:45:05 +0700
commit60d754cb1b2044adafddd4893212028a3264f620 (patch)
tree4b034580ffe571245c3b7b51810a50952b70d53d /indoteknik_api/controllers
parent456d4b07e52c3664fd2c22e2b7748cbb2912539d (diff)
price tier on user session, variant and product
Diffstat (limited to 'indoteknik_api/controllers')
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py9
-rw-r--r--indoteknik_api/controllers/api_v2/product.py6
-rw-r--r--indoteknik_api/controllers/api_v2/product_variant.py4
3 files changed, 12 insertions, 7 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index e237ebaa..44986166 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -213,10 +213,11 @@ class SaleOrder(controller.Controller):
@http.route(PREFIX_PARTNER + 'sale_order/checkout', auth='public', method=['POST', 'OPTIONS'], csrf=False)
@controller.Controller.must_authorized(private=True, private_key='partner_id')
def create_partner_sale_order(self, **kw):
- product_pricelist_default_discount_id = int(request.env['ir.config_parameter'].get_param('product.pricelist.default_discount_id'))
- product_pricelist_tier1 = int(request.env['ir.config_parameter'].get_param('product.pricelist.tier1'))
- product_pricelist_tier2 = int(request.env['ir.config_parameter'].get_param('product.pricelist.tier2'))
- product_pricelist_tier3 = int(request.env['ir.config_parameter'].get_param('product.pricelist.tier3'))
+ config = request.env['ir.config_parameter']
+ product_pricelist_default_discount_id = int(config.get_param('product.pricelist.default_discount_id'))
+ product_pricelist_tier1 = int(config.get_param('product.pricelist.tier1'))
+ product_pricelist_tier2 = int(config.get_param('product.pricelist.tier2'))
+ product_pricelist_tier3 = int(config.get_param('product.pricelist.tier3'))
params = self.get_request_params(kw, {
'partner_id': ['number'],
diff --git a/indoteknik_api/controllers/api_v2/product.py b/indoteknik_api/controllers/api_v2/product.py
index 772906f6..d9b43bda 100644
--- a/indoteknik_api/controllers/api_v2/product.py
+++ b/indoteknik_api/controllers/api_v2/product.py
@@ -5,17 +5,19 @@ from odoo.http import request
class V2Product(controller.Controller):
prefix = '/api/v2/'
- @http.route(prefix + 'product/<id>', auth='public', methods=['GET'])
+ @http.route(prefix + 'product/<id>', auth='public', methods=['GET', 'OPTIONS'])
@controller.Controller.must_authorized()
def v2_get_product_by_id(self, **kw):
id = kw.get('id')
if not id:
return self.response(code=400, description='id is required')
+
+ pricelist = self.user_pricelist()
data = []
id = [int(x) for x in id.split(',')]
product_templates = request.env['product.template'].search([('id', 'in', id)])
if product_templates:
- data = [request.env['product.template'].v2_api_single_response(x, with_detail='DEFAULT') for x in product_templates]
+ data = [request.env['product.template'].v2_api_single_response(x, pricelist=pricelist, with_detail='DEFAULT') for x in product_templates]
return self.response(data) \ No newline at end of file
diff --git a/indoteknik_api/controllers/api_v2/product_variant.py b/indoteknik_api/controllers/api_v2/product_variant.py
index b74e4936..8a5bbeb1 100644
--- a/indoteknik_api/controllers/api_v2/product_variant.py
+++ b/indoteknik_api/controllers/api_v2/product_variant.py
@@ -12,11 +12,13 @@ class V2ProductVariant(controller.Controller):
if not id:
return self.response(code=400, description='id is required')
+ pricelist = self.user_pricelist()
+
data = []
id = [int(x) for x in id.split(',')]
product_products = request.env['product.product'].search([('id', 'in', id)])
if product_products:
- data = [request.env['product.product'].v2_api_single_response(x) for x in product_products]
+ data = [request.env['product.product'].v2_api_single_response(x, pricelist=pricelist) for x in product_products]
return self.response(data)