summaryrefslogtreecommitdiff
path: root/indoteknik_api/models
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2024-03-06 10:40:10 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2024-03-06 10:40:10 +0700
commitd569804844ee77f9f08879dda8c3f1e292470813 (patch)
treebe8357933ccd751700cbecd00b92c30100b25e7f /indoteknik_api/models
parentf53312f3f2c78d50d838c249a8d0eb1ed1e5b7f2 (diff)
Add action web approve on sale order, approval_step on get so api, role aliases on login
Diffstat (limited to 'indoteknik_api/models')
-rw-r--r--indoteknik_api/models/res_users.py16
-rw-r--r--indoteknik_api/models/sale_order.py7
2 files changed, 18 insertions, 5 deletions
diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py
index eecab6ef..456e52d7 100644
--- a/indoteknik_api/models/res_users.py
+++ b/indoteknik_api/models/res_users.py
@@ -7,23 +7,29 @@ class ResUsers(models.Model):
def api_single_response(self, res_user, with_detail=''):
config = self.env['ir.config_parameter']
- partner = res_user.partner_id.get_main_parent()
+ partner = res_user.partner_id
+ main_partner = partner.get_main_parent()
+
+ WEB_ROLE_ALIAS = {
+ 'manager': 2,
+ 'director': 3
+ }
data = {
'id': res_user.id,
'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,
+ 'partner_id': partner.id,
'name': res_user.name,
'email': res_user.login,
'phone': res_user.phone or '',
'mobile': res_user.mobile or '',
'external': res_user.share,
- 'company': partner.company_type == 'company',
+ 'company': main_partner.company_type == 'company',
'pricelist': res_user.property_product_pricelist.sudo().get_tier_name(),
- 'web_role': partner.web_role or None,
+ 'web_role': WEB_ROLE_ALIAS[partner.web_role] if partner.web_role else None,
'feature': {
- 'so_approval': partner.use_so_approval
+ 'so_approval': main_partner.use_so_approval
}
}
diff --git a/indoteknik_api/models/sale_order.py b/indoteknik_api/models/sale_order.py
index 85bf5015..1c0180ec 100644
--- a/indoteknik_api/models/sale_order.py
+++ b/indoteknik_api/models/sale_order.py
@@ -5,6 +5,12 @@ class SaleOrder(models.Model):
_inherit = 'sale.order'
def api_v1_single_response(self, sale_order, context=False):
+ APPROVAL_STEP = {
+ 'company': 1,
+ 'cust_manager': 2,
+ 'cust_director': 3,
+ }
+
data = {
'token': self.env['rest.api'].md5_salt(sale_order.id, 'sale.order'),
'id': sale_order.id,
@@ -17,6 +23,7 @@ class SaleOrder(models.Model):
'purchase_order_file': True if sale_order.partner_purchase_order_file else False,
'invoice_count': sale_order.invoice_count,
'status': 'draft',
+ 'approval_step': APPROVAL_STEP[sale_order.web_approval] if sale_order.web_approval else 0,
'date_order': self.env['rest.api'].datetime_to_str(sale_order.date_order, '%d/%m/%Y %H:%M:%S'),
'pickings': []
}