* change the order first load models then load actions
* overrides the name_search method of ir.model.fields for server action bzr revid: mga@tinyerp.com-20080820102143-wc1gptqmcu0l679m
This commit is contained in:
parent
2656522a63
commit
a6728b5616
|
@ -31,9 +31,9 @@
|
|||
import ir_sequence
|
||||
import ir_ui_menu
|
||||
import ir_ui_view
|
||||
import ir_actions
|
||||
import ir_default
|
||||
import ir_model
|
||||
import ir_actions
|
||||
import ir_report_custom
|
||||
import ir_attachment
|
||||
import ir_cron
|
||||
|
|
|
@ -270,58 +270,58 @@ 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):
|
||||
# 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
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue