summaryrefslogtreecommitdiff
path: root/indoteknik_api/controllers
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-06-23 14:19:38 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-06-23 14:19:38 +0700
commit3ed54712ca9856f3be937f8325db030d0796532e (patch)
treea0e96a3a10f59bde060113b941b681addca43f73 /indoteknik_api/controllers
parent23014336a1fe1fe5ef54fad30cf6c3d9cc59b2d8 (diff)
Refactor pricelist on product price
Diffstat (limited to 'indoteknik_api/controllers')
-rw-r--r--indoteknik_api/controllers/api_v1/cart.py7
-rw-r--r--indoteknik_api/controllers/api_v1/product_variant.py3
-rw-r--r--indoteknik_api/controllers/api_v1/promotion.py4
-rw-r--r--indoteknik_api/controllers/api_v2/product.py4
-rw-r--r--indoteknik_api/controllers/api_v2/product_variant.py4
-rw-r--r--indoteknik_api/controllers/controller.py1
6 files changed, 10 insertions, 13 deletions
diff --git a/indoteknik_api/controllers/api_v1/cart.py b/indoteknik_api/controllers/api_v1/cart.py
index 93d7b2f1..035a40b7 100644
--- a/indoteknik_api/controllers/api_v1/cart.py
+++ b/indoteknik_api/controllers/api_v1/cart.py
@@ -10,14 +10,15 @@ class Cart(controller.Controller):
@http.route(PREFIX_USER + 'cart', auth='public', methods=['GET', 'OPTIONS'])
@controller.Controller.must_authorized()
def get_cart_by_user_id(self, user_id, **kw):
+ user_cart = request.env['website.user.cart']
user_id = int(user_id)
limit = int(kw.get('limit', 0))
offset = int(kw.get('offset', 0))
query = [('user_id', '=', user_id)]
- carts = request.env['website.user.cart'].search(query, limit=limit, offset=offset, order='create_date desc')
+ carts = user_cart.search(query, limit=limit, offset=offset, order='create_date desc')
data = {
- 'product_total': request.env['website.user.cart'].search_count(query),
- 'products': [cart.get_product() for cart in carts]
+ 'product_total': user_cart.search_count(query),
+ 'products': carts.get_products()
}
return self.response(data)
diff --git a/indoteknik_api/controllers/api_v1/product_variant.py b/indoteknik_api/controllers/api_v1/product_variant.py
index 06ce5d3c..8de4669e 100644
--- a/indoteknik_api/controllers/api_v1/product_variant.py
+++ b/indoteknik_api/controllers/api_v1/product_variant.py
@@ -26,10 +26,9 @@ class ProductVariant(controller.Controller):
def get_product_variant_promotions(self, product_id):
product_id = int(product_id)
user_data = self.verify_user_token()
- pricelist = self.user_pricelist()
program_line = request.env['promotion.program.line']
program_lines = program_line.get_active_promotions(product_id)
- program_lines = program_lines.res_format(user=user_data, pricelist=pricelist)
+ program_lines = program_lines.res_format(user=user_data)
return self.response(program_lines)
diff --git a/indoteknik_api/controllers/api_v1/promotion.py b/indoteknik_api/controllers/api_v1/promotion.py
index a3dbf0ba..68a23ef2 100644
--- a/indoteknik_api/controllers/api_v1/promotion.py
+++ b/indoteknik_api/controllers/api_v1/promotion.py
@@ -62,10 +62,10 @@ class Promotion(controller.Controller):
('promotion_type', '=', 'special_price'),
('program_id', '=', int(id))
])
- pricelist = self.user_pricelist()
+
data = []
for line in program_lines:
- product = request.env['product.product'].v2_api_single_response(line.product_id, pricelist=pricelist)
+ product = request.env['product.product'].v2_api_single_response(line.product_id)
product_template = line.product_id.product_tmpl_id
product.update({
diff --git a/indoteknik_api/controllers/api_v2/product.py b/indoteknik_api/controllers/api_v2/product.py
index d9b43bda..19a97dec 100644
--- a/indoteknik_api/controllers/api_v2/product.py
+++ b/indoteknik_api/controllers/api_v2/product.py
@@ -12,12 +12,10 @@ class V2Product(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_templates = request.env['product.template'].search([('id', 'in', id)])
if product_templates:
- data = [request.env['product.template'].v2_api_single_response(x, pricelist=pricelist, with_detail='DEFAULT') for x in product_templates]
+ data = [request.env['product.template'].v2_api_single_response(x, 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 8a5bbeb1..b74e4936 100644
--- a/indoteknik_api/controllers/api_v2/product_variant.py
+++ b/indoteknik_api/controllers/api_v2/product_variant.py
@@ -12,13 +12,11 @@ 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, pricelist=pricelist) for x in product_products]
+ data = [request.env['product.product'].v2_api_single_response(x) for x in product_products]
return self.response(data)
diff --git a/indoteknik_api/controllers/controller.py b/indoteknik_api/controllers/controller.py
index 90bc50ed..a9ad2724 100644
--- a/indoteknik_api/controllers/controller.py
+++ b/indoteknik_api/controllers/controller.py
@@ -21,6 +21,7 @@ class Controller(http.Controller):
def inner_wrapper(*args, **kwargs):
self = args[0]
auth = self.authenticate()
+ request.env.user_pricelist = self.user_pricelist()
if not auth:
return self.unauthorized_response()
if private: