[FIX] ir.ui.view.*: added missing simple and combined indices (suggestion from Ferdinand Gassauer)
lp bug: https://launchpad.net/bugs/580852 fixed bzr revid: odo@openerp.com-20101210124716-okrkdqato09utpvx
This commit is contained in:
parent
4c9e63a383
commit
aeed07950c
|
@ -44,17 +44,23 @@ def _check_xml(self, cr, uid, ids, context=None):
|
|||
class view_custom(osv.osv):
|
||||
_name = 'ir.ui.view.custom'
|
||||
_columns = {
|
||||
'ref_id': fields.many2one('ir.ui.view', 'Original View'),
|
||||
'user_id': fields.many2one('res.users', 'User'),
|
||||
'ref_id': fields.many2one('ir.ui.view', 'Original View', select=True),
|
||||
'user_id': fields.many2one('res.users', 'User', select=True),
|
||||
'arch': fields.text('View Architecture', required=True),
|
||||
}
|
||||
|
||||
def _auto_init(self, cr, context=None):
|
||||
super(view_custom, self)._auto_init(cr, context)
|
||||
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'ir_ui_view_custom_user_id_ref_id\'')
|
||||
if not cr.fetchone():
|
||||
cr.execute('CREATE INDEX ir_ui_view_custom_user_id_ref_id ON ir_ui_view_custom (user_id, ref_id)')
|
||||
view_custom()
|
||||
|
||||
class view(osv.osv):
|
||||
_name = 'ir.ui.view'
|
||||
_columns = {
|
||||
'name': fields.char('View Name',size=64, required=True),
|
||||
'model': fields.char('Object', size=64, required=True),
|
||||
'model': fields.char('Object', size=64, required=True, select=True),
|
||||
'priority': fields.integer('Sequence', required=True),
|
||||
'type': fields.selection((
|
||||
('tree','Tree'),
|
||||
|
@ -64,9 +70,9 @@ class view(osv.osv):
|
|||
('calendar', 'Calendar'),
|
||||
('diagram','Diagram'),
|
||||
('gantt', 'Gantt'),
|
||||
('search','Search')), 'View Type', required=True),
|
||||
('search','Search')), 'View Type', required=True, select=True),
|
||||
'arch': fields.text('View Architecture', required=True),
|
||||
'inherit_id': fields.many2one('ir.ui.view', 'Inherited View', ondelete='cascade'),
|
||||
'inherit_id': fields.many2one('ir.ui.view', 'Inherited View', ondelete='cascade', select=True),
|
||||
'field_parent': fields.char('Child Field',size=64),
|
||||
'xml_id': fields.function(osv.osv.get_xml_id, type='char', size=128, string="XML ID",
|
||||
method=True, help="ID of the view defined in xml file"),
|
||||
|
@ -80,6 +86,12 @@ class view(osv.osv):
|
|||
(_check_xml, 'Invalid XML for View Architecture!', ['arch'])
|
||||
]
|
||||
|
||||
def _auto_init(self, cr, context=None):
|
||||
super(view, self)._auto_init(cr, context)
|
||||
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'ir_ui_view_model_type_inherit_id\'')
|
||||
if not cr.fetchone():
|
||||
cr.execute('CREATE INDEX ir_ui_view_model_type_inherit_id ON ir_ui_view (model, type, inherit_id)')
|
||||
|
||||
def read(self, cr, uid, ids, fields=None, context={}, load='_classic_read'):
|
||||
|
||||
if not isinstance(ids, (list, tuple)):
|
||||
|
@ -195,10 +207,16 @@ class view_sc(osv.osv):
|
|||
'name': fields.char('Shortcut Name', size=64, required=True),
|
||||
'res_id': fields.many2one('ir.ui.menu','Resource Ref.', ondelete='cascade'),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'user_id': fields.many2one('res.users', 'User Ref.', required=True, ondelete='cascade'),
|
||||
'resource': fields.char('Resource Name', size=64, required=True)
|
||||
'user_id': fields.many2one('res.users', 'User Ref.', required=True, ondelete='cascade', select=True),
|
||||
'resource': fields.char('Resource Name', size=64, required=True, select=True)
|
||||
}
|
||||
|
||||
def _auto_init(self, cr, context=None):
|
||||
super(view_sc, self)._auto_init(cr, context)
|
||||
cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'ir_ui_view_sc_user_id_resource\'')
|
||||
if not cr.fetchone():
|
||||
cr.execute('CREATE INDEX ir_ui_view_sc_user_id_resource ON ir_ui_view_sc (user_id, resource)')
|
||||
|
||||
def get_sc(self, cr, uid, user_id, model='ir.ui.menu', context={}):
|
||||
ids = self.search(cr, uid, [('user_id','=',user_id),('resource','=',model)], context=context)
|
||||
return self.read(cr, uid, ids, ['res_id','name'], context=context)
|
||||
|
|
Loading…
Reference in New Issue