summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-04-18 15:51:02 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-04-18 15:51:02 +0700
commite45332c61d9724a790fcb9a46f849ec4147ce46c (patch)
tree034e69d37dbfae7125c614c3f979d5d3d616c846
parent60d754cb1b2044adafddd4893212028a3264f620 (diff)
fix bug no user pricelist
-rw-r--r--indoteknik_api/controllers/api_v1/sale_order.py10
-rw-r--r--indoteknik_api/controllers/controller.py10
-rw-r--r--indoteknik_api/models/product_product.py7
-rw-r--r--indoteknik_api/models/res_users.py14
4 files changed, 24 insertions, 17 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py
index 44986166..685d5a21 100644
--- a/indoteknik_api/controllers/api_v1/sale_order.py
+++ b/indoteknik_api/controllers/api_v1/sale_order.py
@@ -268,12 +268,10 @@ class SaleOrder(controller.Controller):
'tier2': product._get_pricelist_tier2,
'tier3': product._get_pricelist_tier3,
}
- if partner_pricelist.id == product_pricelist_tier1:
- price_tier = 'tier1'
- if partner_pricelist.id == product_pricelist_tier2:
- price_tier = 'tier2'
- if partner_pricelist.id == product_pricelist_tier3:
- price_tier = 'tier3'
+ pricelist_id = pricelist.id or False
+ if pricelist_id == product_pricelist_tier1: price_tier = 'tier1'
+ if pricelist_id == product_pricelist_tier2: price_tier = 'tier2'
+ if pricelist_id == product_pricelist_tier3: price_tier = 'tier3'
if price_tier:
price = pricelist[price_tier]()
diff --git a/indoteknik_api/controllers/controller.py b/indoteknik_api/controllers/controller.py
index f419f66e..86628400 100644
--- a/indoteknik_api/controllers/controller.py
+++ b/indoteknik_api/controllers/controller.py
@@ -54,7 +54,15 @@ class Controller(http.Controller):
if user_token:
result = user_token
return result
-
+
+ def user_pricelist(self):
+ user_token = self.authenticate()
+ pricelist = False
+ if isinstance(user_token, dict):
+ partner = request.env['res.partner'].browse(user_token['partner_id'])
+ if partner: pricelist = partner.property_product_pricelist
+ return pricelist
+
def get_request_params(self, kw, queries):
result = {
'valid': True,
diff --git a/indoteknik_api/models/product_product.py b/indoteknik_api/models/product_product.py
index a648ad51..b32a0129 100644
--- a/indoteknik_api/models/product_product.py
+++ b/indoteknik_api/models/product_product.py
@@ -42,9 +42,10 @@ class ProductProduct(models.Model):
'tier2': product_product._get_pricelist_tier2,
'tier3': product_product._get_pricelist_tier3,
}
- if pricelist.id == product_pricelist_tier1: price_tier = 'tier1'
- if pricelist.id == product_pricelist_tier2: price_tier = 'tier2'
- if pricelist.id == product_pricelist_tier3: price_tier = 'tier3'
+ pricelist_id = pricelist.id or False
+ if pricelist_id == product_pricelist_tier1: price_tier = 'tier1'
+ if pricelist_id == product_pricelist_tier2: price_tier = 'tier2'
+ if pricelist_id == product_pricelist_tier3: price_tier = 'tier3'
if price_tier:
price = pricelists[price_tier]()
diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py
index b0807e9f..3993201e 100644
--- a/indoteknik_api/models/res_users.py
+++ b/indoteknik_api/models/res_users.py
@@ -11,6 +11,12 @@ class ResUsers(models.Model):
product_pricelist_tier3 = int(config.get_param('product.pricelist.tier3'))
user_pricelist = res_user.property_product_pricelist
+ user_pricelist_id = user_pricelist.id or False
+ pricelist_tier = False
+ if user_pricelist_id == product_pricelist_tier1: pricelist_tier = 'tier1'
+ if user_pricelist_id == product_pricelist_tier2: pricelist_tier = 'tier2'
+ if user_pricelist_id == product_pricelist_tier3: pricelist_tier = 'tier3'
+
data = {
'id': res_user.id,
'parent_id': res_user.parent_id.id or False,
@@ -21,15 +27,9 @@ class ResUsers(models.Model):
'mobile': res_user.mobile or '',
'external': res_user.share,
'company': res_user.company_type == 'company',
- 'pricelist': False
+ 'pricelist': pricelist_tier
}
- if user_pricelist.id == product_pricelist_tier1:
- data['pricelist'] = 'tier1'
- if user_pricelist.id == product_pricelist_tier2:
- data['pricelist'] = 'tier2'
- if user_pricelist.id == product_pricelist_tier3:
- data['pricelist'] = 'tier3'
if res_user.parent_id:
data.update({ 'company': res_user.parent_id.company_type == 'company' })