* 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:
mga@tinyerp.com 2008-08-20 15:51:43 +05:30
parent 2656522a63
commit a6728b5616
2 changed files with 53 additions and 53 deletions

View File

@ -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

View File

@ -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
#