bzr revid: fp@tinyerp.com-20080819123013-fk1bhqym921tg2wp
This commit is contained in:
Fabien Pinckaers
2008-08-19 14:30:13 +02:00
parent 5d2bc51591
commit 8da94d89f8
4 changed files with 58 additions and 56 deletions
+52 -55
View File
@@ -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):
+1
View File
@@ -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,
+4 -1
View File
@@ -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))
+1
View File
@@ -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()