Skip to content

Commit

Permalink
BAH-3374 | Remove sudo and custom token generation and validation (#39)
Browse files Browse the repository at this point in the history
* BAH-3374 | Remove usages of sudo

* BAH-3374 | Remove empty lines

* BAH-3374 | Remove custom token generation and validation
  • Loading branch information
mohan-13 authored Jan 3, 2024
1 parent 98c53ef commit 29f484c
Show file tree
Hide file tree
Showing 17 changed files with 70 additions and 567 deletions.
22 changes: 11 additions & 11 deletions bahmni_api_feed/models/api_event_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ def _create_or_update_customer(self, vals):
for rec in customer_vals.keys():
if not customer_vals[rec]:
del customer_vals[rec]
existing_customer = self.env['res.partner'].sudo().search([('ref', '=', patient_ref)])
existing_customer = self.env['res.partner'].search([('ref', '=', patient_ref)])
if existing_customer:
existing_customer.write(customer_vals)
self._create_or_update_person_attributes(existing_customer.id,vals)
else:
customer = self.env['res.partner'].sudo().create(customer_vals)
customer = self.env['res.partner'].create(customer_vals)
self._create_or_update_person_attributes(customer.id,vals)

@api.model
Expand Down Expand Up @@ -94,7 +94,7 @@ def _get_address_details(self, address):

@api.model
def _find_country(self, address):
return self.env['res.company'].sudo().search([], limit=1).partner_id.country_id
return self.env['res.company'].search([], limit=1).partner_id.country_id

@api.model
def _find_or_create_level3(self, state, district, level_name, auto_create_customer_address_levels):
Expand Down Expand Up @@ -154,32 +154,32 @@ def _create_or_update_person_attributes(self, cust_id, vals):
address_data = vals.get('preferredAddress')
if address_data.get('cityVillage') and cust_id:
village_master = self.env['village.village']
customer_master = self.env['res.partner'].sudo().search([('id', '=', cust_id)])
identified_village = village_master.sudo().search([('name', '=', address_data.get('cityVillage'))], limit=1)
customer_master = self.env['res.partner'].search([('id', '=', cust_id)])
identified_village = village_master.search([('name', '=', address_data.get('cityVillage'))], limit=1)
if identified_village and customer_master:
customer_master.village_id = identified_village.id
else:
created_village = village_master.sudo().create({'name': address_data.get('cityVillage')})
created_village = village_master.create({'name': address_data.get('cityVillage')})
customer_master.village_id = created_village.id

if attributes['email'] and cust_id:
customer_master = self.env['res.partner'].sudo().search([('id', '=', cust_id)])
customer_master = self.env['res.partner'].search([('id', '=', cust_id)])
if customer_master:
customer_master.email = attributes['email']
customer_master.customer_rank = 1 ##Make a partner as a customer

if address_data.get('country') and cust_id:
country_master = self.env['res.country']
customer_master = self.env['res.partner'].sudo().search([('id', '=', cust_id)])
identified_country = country_master.sudo().search([('name', '=', address_data.get('country'))], limit=1)
customer_master = self.env['res.partner'].search([('id', '=', cust_id)])
identified_country = country_master.search([('name', '=', address_data.get('country'))], limit=1)
if identified_country:
customer_master.country_id = identified_country.id

for key in attributes:
if key in [key for key in attributes]:
column_dict = {'partner_id': cust_id}
existing_attribute = self.env['res.partner.attributes'].sudo().search([('partner_id', '=', cust_id),('name', '=', key)])
existing_attribute = self.env['res.partner.attributes'].search([('partner_id', '=', cust_id),('name', '=', key)])
if any(existing_attribute):
existing_attribute.unlink()
column_dict.update({"name": key, "value" : attributes[key]})
self.env['res.partner.attributes'].sudo().create(column_dict)
self.env['res.partner.attributes'].create(column_dict)
24 changes: 12 additions & 12 deletions bahmni_api_feed/models/drug_data_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ class DrugDataService(models.Model):
def create_or_update_drug_category(self, vals):
'''Method to create or update the child product category, under drug category'''
drug_categ = json.loads(vals.get("drug_category"))
exist_categ = self.env["product.category"].sudo().search([('uuid', '=', drug_categ.get("id"))])
parent_categ = self.env["product.category"].sudo().search([('name', '=', "Drug")], limit=1)
exist_categ = self.env["product.category"].search([('uuid', '=', drug_categ.get("id"))])
parent_categ = self.env["product.category"].search([('name', '=', "Drug")], limit=1)
updated_categ = self._fill_drug_category(drug_categ, parent_categ.id)
if exist_categ:
_logger.info("\nupdated : drug_category :\n")
Expand All @@ -42,27 +42,27 @@ def _fill_drug_category(self, drug_categ_from_feed, parent_id=None):
@api.model
def create_or_update_drug(self, vals):
'''Method for creating/updating a new product under drug category'''
products = self.env['product.product'].sudo().search([('uuid', '=', vals.get("uuid"))])
products = self.env['product.product'].search([('uuid', '=', vals.get("uuid"))])
updated_drug = self._fill_drug_object(vals, products.ids)
if products:
product = self.env['product.product'].sudo().browse(products.ids[0:1])
product.sudo().write(updated_drug)
product = self.env['product.product'].browse(products.ids[0:1])
product.write(updated_drug)
else:
self.env['product.product'].sudo().create(updated_drug)
self.env['product.product'].create(updated_drug)

@api.model
def _fill_drug_object(self, drug_from_feed, drug_ids_from_db):
'''Method which returns the values for creation/updation of product under drug category'''
drug = {}
category_name = drug_from_feed.get("dosageForm")
category = self.env["product.category"].sudo().search([('name', '=', category_name)])
category = self.env["product.category"].search([('name', '=', category_name)])
if category.read([]):
category_from_db = category.read([])[0]
categ_id = category_from_db and category_from_db.get('id') or self._create_in_drug_category(category_name)
else:
categ_parent_id = self.env['product.category'].sudo().search([('complete_name', '=', 'All / Saleable / Drugs')], limit=1).id
categ_id = self.env["product.category"].sudo().create({'name':category_name, 'parent_id': categ_parent_id}).id
list_price = drug_ids_from_db and self.env['product.product'].sudo().browse(drug_ids_from_db[0]).list_price or 0.0
categ_parent_id = self.env['product.category'].search([('complete_name', '=', 'All / Saleable / Drugs')], limit=1).id
categ_id = self.env["product.category"].create({'name':category_name, 'parent_id': categ_parent_id}).id
list_price = drug_ids_from_db and self.env['product.product'].browse(drug_ids_from_db[0]).list_price or 0.0
drug["uuid"] = drug_from_feed.get("uuid")
drug["name"] = drug_from_feed.get("name")
drug["default_code"] = drug_from_feed.get("shortName")
Expand All @@ -79,9 +79,9 @@ def _fill_drug_object(self, drug_from_feed, drug_ids_from_db):
@api.model
def _create_in_drug_category(self, categ_name):
'''Method to create a new category, while creating a product, if category does not exists'''
parent_categ = self.env["product.category"].sudo().search([('name', '=', "Drug")])
parent_categ = self.env["product.category"].search([('name', '=', "Drug")])
category = {'name': categ_name}
if(parent_categ):
category['parent_id'] = parent_categ.id
return self.env['product.category'].sudo().create(category).id
return self.env['product.category'].create(category).id

Loading

0 comments on commit 29f484c

Please sign in to comment.