From 98a92a50ee1c28a531c16656c2fa2a5861a5ddc6 Mon Sep 17 00:00:00 2001 From: Vinay Venu Date: Wed, 25 Oct 2017 16:10:54 +0530 Subject: [PATCH] BAH-337 - Fix sync of person attributes --- bahmni_atom_feed/atom_feed_client.py | 10 +++++----- bahmni_atom_feed/res_partner.py | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/bahmni_atom_feed/atom_feed_client.py b/bahmni_atom_feed/atom_feed_client.py index 315cfa6..b7f85dc 100644 --- a/bahmni_atom_feed/atom_feed_client.py +++ b/bahmni_atom_feed/atom_feed_client.py @@ -66,12 +66,12 @@ def _create_or_update_customer(self,cr, patient_ref, uid, vals,context): def _create_or_update_person_attributes(self, cr, uid, cust_id, vals, context=None): attributes = json.loads(vals.get("attributes", "{}")) - column_dict = {'partner_id': cust_id} - existing_attribute = self.pool.get('res.partner.attributes').search(cr, uid, [('partner_id' , '=', cust_id)]) for key in attributes: - column_dict.update({'x_'+key : attributes[key]}) - self.pool.get('res.partner.attributes').unlink(cr, uid,existing_attribute ,context=context ) - self.pool.get('res.partner.attributes').create(cr, uid, column_dict, context=context) + column_dict = {'partner_id': cust_id} + existing_attribute = self.pool.get('res.partner.attributes').search(cr, uid, [('partner_id' , '=', cust_id), ('name', '=', key)]) + column_dict.update({"name": key, "value" : attributes[key]}) + self.pool.get('res.partner.attributes').unlink(cr, uid,existing_attribute ,context=context ) + self.pool.get('res.partner.attributes').create(cr, uid, column_dict, context=context) def _create_or_update_person_address(self, cr, uid, cust_id, vals, context=None): try: diff --git a/bahmni_atom_feed/res_partner.py b/bahmni_atom_feed/res_partner.py index cb17943..61a5778 100644 --- a/bahmni_atom_feed/res_partner.py +++ b/bahmni_atom_feed/res_partner.py @@ -16,7 +16,9 @@ class res_partner_attributes(osv.osv): _name = 'res.partner.attributes' _columns = { - 'partner_id': fields.many2one('res.partner', 'Partner', required=True, select=True, readonly=False) + 'partner_id': fields.many2one('res.partner', 'Partner', required=True, select=True, readonly=False), + 'name': fields.char('Name', size=128, required=True), + 'value': fields.char('Value', size=128, required=False) } class res_partner_address(osv.osv):