openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #07112
[Merge] lp:~openerp-dev/openobject-server/trunk-bug-export_method-rga into lp:openobject-server
Naresh(OpenERP) has proposed merging lp:~openerp-dev/openobject-server/trunk-bug-export_method-rga into lp:openobject-server.
Requested reviews:
Naresh(OpenERP) (nch-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-export_method-rga/+merge/61744
merge the client branch too lp:~openerp-dev/openobject-client/trunk-bug-771801-rga to test.
--
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-export_method-rga/+merge/61744
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/trunk-bug-export_method-rga.
=== modified file 'openerp/addons/base/ir/ir_exports.py'
--- openerp/addons/base/ir/ir_exports.py 2010-12-20 23:17:43 +0000
+++ openerp/addons/base/ir/ir_exports.py 2011-05-20 11:31:11 +0000
@@ -25,12 +25,52 @@
class ir_exports(osv.osv):
_name = "ir.exports"
_order = 'name'
+ _export_model_list =[]
+ _export_data = {}
+ _count = 0
_columns = {
'name': fields.char('Export Name', size=128),
'resource': fields.char('Resource', size=128, select=True),
'export_fields': fields.one2many('ir.exports.line', 'export_id',
'Export ID'),
}
+
+ def export_list(self, cr, uid, fields, prefix_node='', prefix=0, prefix_value='', level=2, import_comp=True, context={}):
+ if context.get('reset',False):
+ self._export_model_list =[]
+ self. _export_data = {}
+ self._count = 0
+ del context['reset']
+
+ fields = fields.copy()
+ fields.update({'id':{'string':'ID'}})
+ fields.update({'.id':{'string':'Database ID'}})
+ fields_order = fields.keys()
+ fields_order.sort(lambda x,y: -cmp(fields[x].get('string', ''), fields[y].get('string', '')))
+ for field in fields_order:
+ if import_comp and fields[field].get('readonly', False):
+ ok = False
+ for sl in fields[field].get('states', {}).values():
+ for s in sl:
+ ok = ok or (s==('readonly',False))
+ if not ok: continue
+ self._export_data[prefix_node+field] = fields[field]
+ if prefix_node:
+ self._export_data[prefix_node + field]['string'] = '%s%s' % (prefix_value, self._export_data[prefix_node + field]['string'])
+ st_name = fields[field]['string'] or field
+ self._count = self._count + 1
+ self._export_model_list.append([prefix, self._count, [st_name, prefix_node+field, (fields[field].get('required', False) and '#ddddff') or 'white']])
+ if fields[field].get('relation', False) and level>0:
+ if (fields[field]['type'] in ['many2many']) and import_comp:
+ pass
+ else:
+ if (not import_comp) or (fields[field]['type'] in ['one2many']):
+ fields2= self.pool.get(fields[field]['relation']).fields_get(cr, uid, False, context)
+ self.export_list(cr, uid, fields2, prefix_node+field+'/', self._count, st_name+'/', level-1, import_comp, context)
+ else:
+ self.export_list(cr, uid, {}, prefix_node+field+'/', self._count, st_name+'/', level-1, import_comp, context)
+ return self._export_model_list
+
ir_exports()
Follow ups