[MERGE] xml import: support "ref" attribute for reference fields as for many2one
bzr revid: odo@openerp.com-20100519165024-5h1mul6438heq3a9 bzr revid: odo@openerp.com-20100519174137-vlt4l0yptau2ga6b
This commit is contained in:
@@ -118,7 +118,7 @@
|
||||
<separator string="Signature" colspan="2"/>
|
||||
<field colspan="2" name="signature" nolabel="1"/>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<group colspan="2" col="2" expand="1">
|
||||
<separator string="Access Rights (groups)" colspan="2"/>
|
||||
<field colspan="2" nolabel="1" name="groups_id"/>
|
||||
</group>
|
||||
|
||||
@@ -357,7 +357,7 @@
|
||||
<record id="res_partner_asustek_request" model="res.request">
|
||||
<field name="name">ASUSTEK-Subject</field>
|
||||
<field name="act_to" ref="user_demo"/>
|
||||
<field name="ref_doc1">res.partner,2</field>
|
||||
<field name="ref_doc1" ref="res_partner_asus"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
+17
-8
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -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 <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user