diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py index 324d85381c7..9ed4565169a 100755 --- a/bin/addons/base/ir/ir_actions.py +++ b/bin/addons/base/ir/ir_actions.py @@ -270,62 +270,59 @@ def model_get(self, cr, uid, context={}): return res -class ir_model_fields(osv.osv): - _inherit = 'ir.model.fields' - _rec_name = 'complete_name' - _columns = { - 'complete_name': fields.char('Complete Name', required=True, size=64, select=1), - } - - def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80): - - print name, args, operator, context - - def get_fields(cr, uid, field, rel): - result = [] - mobj = self.pool.get('ir.model') - id = mobj.search(cr, uid, [('model','=',rel)]) - - obj = self.pool.get('ir.model.fields') - ids = obj.search(cr, uid, [('model_id','in',id)]) - records = obj.read(cr, uid, ids) - for record in records: - id = record['id'] - fld = field + '/' + record['name'] - - result.append((id, fld)) - return result - - if not args: - args=[] - if not context: - context={} - return super(ir_model_fields, self).name_search(cr, uid, name, args, operator, context, limit) - - result = [] - obj = self.pool.get('ir.model.fields') - ids = obj.search(cr, uid, args) - records = obj.read(cr, uid, ids) - for record in records: - id = record['id'] - field = record['name'] - - if record['ttype'] == 'many2one': - rel = record['relation'] - res = get_fields(cr, uid, field, record['relation']) - for rs in res: - result.append(rs) - - result.append((id, field)) - - for rs in result: - obj.write(cr, uid, [rs[0]], {'complete_name':rs[1]}) - - #result = super(ir_model_fields, self).name_search(cr, uid, name, [['complete_name','ilike',name]], operator, context, limit) - return result - -ir_model_fields() +#class ir_model_fields(osv.osv): +# _inherit = 'ir.model.fields' +# _rec_name = 'complete_name' +# _columns = { +# 'complete_name': fields.char('Complete Name', required=True, size=64, select=1), +# } # +# def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80): +# def get_fields(cr, uid, field, rel): +# result = [] +# mobj = self.pool.get('ir.model') +# id = mobj.search(cr, uid, [('model','=',rel)]) +# +# obj = self.pool.get('ir.model.fields') +# ids = obj.search(cr, uid, [('model_id','in',id)]) +# records = obj.read(cr, uid, ids) +# for record in records: +# id = record['id'] +# fld = field + '/' + record['name'] +# +# result.append((id, fld)) +# return result +# +# if not args: +# args=[] +# if not context: +# context={} +# return super(ir_model_fields, self).name_search(cr, uid, name, args, operator, context, limit) +# +# result = [] +# obj = self.pool.get('ir.model.fields') +# ids = obj.search(cr, uid, args) +# records = obj.read(cr, uid, ids) +# for record in records: +# id = record['id'] +# field = record['name'] +# +# if record['ttype'] == 'many2one': +# rel = record['relation'] +# res = get_fields(cr, uid, field, record['relation']) +# for rs in res: +# result.append(rs) +# +# result.append((id, field)) +# +# for rs in result: +# obj.write(cr, uid, [rs[0]], {'complete_name':rs[1]}) +# +# #result = super(ir_model_fields, self).name_search(cr, uid, name, [['complete_name','ilike',name]], operator, context, limit) +# return result +# +#ir_model_fields() +## # Actions that are run on the server side # class actions_server(osv.osv): diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index 499a9a4354b..e811c25ef7d 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -122,6 +122,7 @@ class ir_model_fields(osv.osv): 'groups': fields.many2many('res.groups', 'ir_model_fields_group_rel', 'field_id', 'group_id', 'Groups'), 'group_name': fields.char('Group Name', size=128), 'view_load': fields.boolean('View Auto-Load'), + 'complete_name': fields.char('Complete Name', required=True, size=64, select=1), } _defaults = { 'relate': lambda *a: 0, diff --git a/bin/osv/osv.py b/bin/osv/osv.py index 8e2944eed76..611ba504955 100644 --- a/bin/osv/osv.py +++ b/bin/osv/osv.py @@ -236,7 +236,10 @@ class osv(orm.orm): parent_name = hasattr(cls, '_inherit') and cls._inherit if parent_name: parent_class = pool.get(parent_name).__class__ - assert parent_class, "parent class %s does not exist !" % parent_name + + print cls + print cls._name + assert pool.get(parent_name), "parent class %s does not exist in module %s !" % (parent_name, module) nattr = {} for s in ('_columns', '_defaults', '_inherits', '_constraints', '_sql_constraints'): new = copy.copy(getattr(pool.get(parent_name), s)) diff --git a/bin/tools/convert.py b/bin/tools/convert.py index 178df2b7bc6..7ad2e9d93db 100644 --- a/bin/tools/convert.py +++ b/bin/tools/convert.py @@ -730,6 +730,7 @@ def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init', if fname in data: if not data[fname]: return + input = StringIO.StringIO(csvcontent) reader = csv.reader(input, quotechar='"', delimiter=',') fields = reader.next()