@@ -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):
|
||||
|
||||
@@ -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
@@ -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))
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user