[FIX] import/export fully working through web interface

bzr revid: fp@tinyerp.com-20111228205757-vxdw1j6gcsyvjj3m
This commit is contained in:
Fabien Pinckaers 2011-12-28 21:57:57 +01:00
parent ae92ec17ea
commit 91cafbee7e
1 changed files with 32 additions and 24 deletions

View File

@ -1073,18 +1073,7 @@ class BaseModel(object):
else:
return False
lines = []
data = map(lambda x: '', range(len(fields)))
done = []
for fpos in range(len(fields)):
f = fields[fpos]
if f:
r = row
i = 0
while i < len(f):
if f[i] == '.id':
r = r['id']
elif f[i] == 'id':
def _get_xml_id(self, cr, uid, r):
model_data = self.pool.get('ir.model.data')
data_ids = model_data.search(cr, uid, [('model', '=', r._table_name), ('res_id', '=', r['id'])])
if len(data_ids):
@ -1107,10 +1096,25 @@ class BaseModel(object):
'module': '__export__',
})
r = '__export__.'+n
return r
lines = []
data = map(lambda x: '', range(len(fields)))
done = []
for fpos in range(len(fields)):
f = fields[fpos]
if f:
r = row
i = 0
while i < len(f):
cols = False
if f[i] == '.id':
r = r['id']
elif f[i] == 'id':
r = _get_xml_id(self, cr, uid, r)
else:
r = r[f[i]]
# To display external name of selection field when its exported
cols = False
if f[i] in self._columns.keys():
cols = self._columns[f[i]]
elif f[i] in self._inherit_fields.keys():
@ -1135,8 +1139,12 @@ class BaseModel(object):
if [x for x in fields2 if x]:
break
done.append(fields2)
if cols and cols._type=='many2many' and len(fields[fpos])>(i+1) and (fields[fpos][i+1]=='id'):
data[fpos] = ','.join([_get_xml_id(self, cr, uid, x) for x in r])
break
for row2 in r:
lines2 = self.__export_row(cr, uid, row2, fields2,
lines2 = row2._model.__export_row(cr, uid, row2, fields2,
context)
if first:
for fpos2 in range(len(fields)):