From 20141923f0056fcc475131a1bd1fc29b76a4825b Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Thu, 21 Jun 2012 12:48:03 +1200 Subject: [PATCH] lp:994996 - translate xml_id to db_id on importing reference fields --- openerp/osv/orm.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index b48eb6e..4c26685 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -1397,6 +1397,15 @@ class BaseModel(object): tools.ustr(line[i]), tools.ustr(field_name)) warning.append(_("Key/value '%s' not found in selection field '%s'") % ( tools.ustr(line[i]), tools.ustr(field_name))) + elif field_type == 'reference': + # translate xml_id to db_id for model,id pairs. + ref_value_parts = line[i].split(',') + if len(ref_value_parts) == 2: + ref_model_name, ref_xml_id = ref_value_parts + ref_db_id = _get_id(ref_model_name, ref_xml_id, current_module) + res = '%s,%s' % (ref_model_name, ref_db_id) + else: + res = line[i] # pass through, _check_selection_field_value will validate this nicely. else: res = line[i] -- 1.7.9.5