diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml
index f89614c7440..864cae2f5ba 100644
--- a/bin/addons/base/base_update.xml
+++ b/bin/addons/base/base_update.xml
@@ -118,7 +118,7 @@
-
+
diff --git a/bin/addons/base/res/partner/partner_demo.xml b/bin/addons/base/res/partner/partner_demo.xml
index c6de312bc4c..f5d70a2490d 100644
--- a/bin/addons/base/res/partner/partner_demo.xml
+++ b/bin/addons/base/res/partner/partner_demo.xml
@@ -357,7 +357,7 @@
ASUSTEK-Subject
- res.partner,2
+
diff --git a/bin/tools/convert.py b/bin/tools/convert.py
index 36f2740dbc9..df56bd7154a 100644
--- a/bin/tools/convert.py
+++ b/bin/tools/convert.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL ().
#
@@ -15,7 +15,7 @@
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# along with this program. If not, see .
#
##############################################################################
@@ -369,10 +369,10 @@ form: module.record_id""" % (xml_id,)
domain = rec.get('domain','').encode('utf-8') or '{}'
context = rec.get('context','').encode('utf-8') or '{}'
res_model = rec.get('res_model','').encode('utf-8')
- src_model = rec.get('src_model','').encode('utf-8')
+ src_model = rec.get('src_model','').encode('utf-8')
view_type = rec.get('view_type','').encode('utf-8') or 'form'
view_mode = rec.get('view_mode','').encode('utf-8') or 'tree,form'
-
+
usage = rec.get('usage','').encode('utf-8')
limit = rec.get('limit','').encode('utf-8')
auto_refresh = rec.get('auto_refresh','').encode('utf-8')
@@ -720,7 +720,12 @@ form: module.record_id""" % (xml_id,)
if f_ref=="null":
f_val = False
else:
- f_val = self.id_get(cr, f_model, f_ref)
+ if f_name in model._columns \
+ and model._columns[f_name]._type == 'reference':
+ val = self.model_id_get(cr, f_model, f_ref)
+ f_val = val[0] + ',' + str(val[1])
+ else:
+ f_val = self.id_get(cr, f_model, f_ref)
else:
f_val = _eval_xml(self,field, self.pool, cr, self.uid, self.idref)
if model._columns.has_key(f_name):
@@ -738,13 +743,17 @@ form: module.record_id""" % (xml_id,)
def id_get(self, cr, model, id_str):
if id_str in self.idref:
return self.idref[id_str]
+ return self.model_id_get(cr, model, id_str)[1]
+
+ def model_id_get(self, cr, model, id_str):
+ model_data_obj = self.pool.get('ir.model.data')
mod = self.module
if '.' in id_str:
mod,id_str = id_str.split('.')
- result = self.pool.get('ir.model.data')._get_id(cr, self.uid, mod, id_str)
- res = self.pool.get('ir.model.data').read(cr, self.uid, [result], ['res_id'])
+ result = model_data_obj._get_id(cr, self.uid, mod, id_str)
+ res = model_data_obj.read(cr, self.uid, [result], ['model', 'res_id'])
if res and res[0] and res[0]['res_id']:
- return int(res[0]['res_id'])
+ return res[0]['model'], int(res[0]['res_id'])
return False
def parse(self, de):
diff --git a/doc/Changelog-6.x b/doc/Changelog-6.x
new file mode 100644
index 00000000000..78d65c8e809
--- /dev/null
+++ b/doc/Changelog-6.x
@@ -0,0 +1,9 @@
+2010-07-XX: 6.0.0
+=================
+
+Improvements (server)
+---------------------
+
+ * support of 'ref' attribute for importing 'reference' field values, as for many2one fields.
+
+