summaryrefslogtreecommitdiff
path: root/indoteknik_api/models
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-03-05 16:05:41 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-03-05 16:05:41 +0700
commitf53312f3f2c78d50d838c249a8d0eb1ed1e5b7f2 (patch)
treeca6703e819719d702546c50c7dd3dade2df0991e /indoteknik_api/models
parent388ea472f3913accd9e962f7f5c592860be98488 (diff)
Add web sale approval feature
Diffstat (limited to 'indoteknik_api/models')
-rw-r--r--indoteknik_api/models/__init__.py1
-rw-r--r--indoteknik_api/models/res_partner.py14
-rw-r--r--indoteknik_api/models/res_users.py21
3 files changed, 25 insertions, 11 deletions
diff --git a/indoteknik_api/models/__init__.py b/indoteknik_api/models/__init__.py
index 892d2657..8c85938c 100644
--- a/indoteknik_api/models/__init__.py
+++ b/indoteknik_api/models/__init__.py
@@ -9,3 +9,4 @@ from . import sale_order
from . import x_manufactures
from . import website_content
from . import coupon_program
+from . import res_partner
diff --git a/indoteknik_api/models/res_partner.py b/indoteknik_api/models/res_partner.py
new file mode 100644
index 00000000..57200ac1
--- /dev/null
+++ b/indoteknik_api/models/res_partner.py
@@ -0,0 +1,14 @@
+from odoo import models
+
+
+class ResPartner(models.Model):
+ _inherit = 'res.partner'
+
+ def get_main_parent(self):
+ partner = self
+
+ while partner.parent_id:
+ partner = partner.parent_id
+
+ return partner
+ \ No newline at end of file
diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py
index f331321f..eecab6ef 100644
--- a/indoteknik_api/models/res_users.py
+++ b/indoteknik_api/models/res_users.py
@@ -6,27 +6,26 @@ class ResUsers(models.Model):
def api_single_response(self, res_user, with_detail=''):
config = self.env['ir.config_parameter']
-
- user_pricelist = res_user.property_product_pricelist
- pricelist_tier = user_pricelist.sudo().get_tier_name()
+
+ partner = res_user.partner_id.get_main_parent()
data = {
'id': res_user.id,
- 'parent_id': res_user.parent_id.id or False,
- 'parent_name': res_user.parent_id.name or False,
+ 'parent_id': res_user.parent_id.id or None,
+ 'parent_name': res_user.parent_id.name or None,
'partner_id': res_user.partner_id.id,
'name': res_user.name,
'email': res_user.login,
'phone': res_user.phone or '',
'mobile': res_user.mobile or '',
'external': res_user.share,
- 'company': res_user.company_type == 'company',
- 'pricelist': pricelist_tier
+ 'company': partner.company_type == 'company',
+ 'pricelist': res_user.property_product_pricelist.sudo().get_tier_name(),
+ 'web_role': partner.web_role or None,
+ 'feature': {
+ 'so_approval': partner.use_so_approval
+ }
}
-
-
- if res_user.parent_id:
- data.update({ 'company': res_user.parent_id.company_type == 'company' })
return data