[IMP]:ir.filters instead of ir.act.windows

bzr revid: nch@tinyerp.com-20100624132751-wqb1ia1kvil9eop1
This commit is contained in:
RGA(openERP) 2010-06-24 18:57:51 +05:30 committed by nch@tinyerp.com
parent d67b6eccda
commit af142de4f0
5 changed files with 40 additions and 24 deletions

View File

@ -2,6 +2,7 @@
<openerp>
<data>
<menuitem icon="terp-administration" id="menu_administration" name="Administration" sequence="50"/>
<menuitem icon="terp-administration" id="menu_administration_shortcut" parent="menu_administration" name="Custom Shortcuts" sequence="50"/>
<menuitem id="next_id_4" name="Low Level Objects"
parent="base.menu_administration" sequence="3"
groups="base.group_extended"/>

View File

@ -159,16 +159,6 @@ class act_window(osv.osv):
(_check_model, 'Invalid model name in the action definition.', ['res_model','src_model'])
]
def get_filters(self, cr, uid, model):
cr.execute('SELECT id FROM ir_act_window a WHERE a.id NOT IN (SELECT act_id FROM ir_act_window_user_rel) AND a.res_model=\''+model+'\' and a.filter=\'1\';')
all_ids = cr.fetchall()
filter_ids = map(lambda x:x[0],all_ids)
act_ids = self.search(cr,uid,[('res_model','=',model),('filter','=',1),('default_user_ids','in',(','.join(map(str,[uid,])),))])
act_ids += filter_ids
act_ids = list(set(act_ids))
my_acts = self.read(cr, uid, act_ids, ['name', 'domain','context'])
return my_acts
def _views_get_fnc(self, cr, uid, ids, name, arg, context={}):
res={}
for act in self.browse(cr, uid, ids):

View File

@ -27,17 +27,22 @@ class ir_filters(osv.osv):
'''
_name = 'ir.filters'
_description = 'Filters'
def _list_all_models(self, cr, uid, context=None):
cr.execute("SELECT model, name from ir_model")
return cr.fetchall()
def get_filters(self, cr, uid, model):
act_ids = self.search(cr,uid,[('model_id','=',model),('user_id','=',uid)])
my_acts = self.read(cr, uid, act_ids, ['name', 'domain','context'])
return my_acts
_columns = {
'name': fields.char('Action Name', size=64, translate=True, required=True),
'user_id':fields.many2one('res.users', 'User', help='False means for every user'),
'domain': fields.char('Domain Value', size=250, required=True),
'context': fields.char('Context Value', size=250, required=True),
'model_id': fields.selection(_list_all_models, 'Model', required=True),
'name': fields.char('Action Name', size=64, translate=True, required=True),
'user_id':fields.many2one('res.users', 'User', help='False means for every user'),
'domain': fields.char('Domain Value', size=250, required=True),
'context': fields.char('Context Value', size=250, required=True),
'model_id': fields.selection(_list_all_models, 'Model', required=True),
}
ir_filters()

View File

@ -67,6 +67,25 @@ class ir_ui_menu(osv.osv):
# radical but this doesn't frequently happen
self._cache = {}
def create_shortcut(self, cr, uid, values, context={}):
dataobj = self.pool.get('ir.model.data')
menu_id = dataobj._get_id(cr, uid, 'base', 'menu_administration_shortcut', context)
shortcut_menu_id = int(dataobj.read(cr, uid, menu_id, ['res_id'], context)['res_id'])
action_id = self.pool.get('ir.actions.act_window').create(cr, uid, values, context)
menu_data = {'name':values['name'],
'sequence':10,
'action':'ir.actions.act_window,'+str(action_id),
'parent_id':shortcut_menu_id,
'icon':'STOCK_JUSTIFY_FILL'}
menu_id = self.pool.get('ir.ui.menu').create(cr, uid, menu_data)
sc_data= {'name':values['name'], 'sequence': 1,'res_id': menu_id }
sc_menu_id = self.pool.get('ir.ui.view_sc').create(cr, uid, sc_data, context)
user_groups = set(self.pool.get('res.users').read(cr, 1, uid, ['groups_id'])['groups_id'])
key = (cr.dbname, shortcut_menu_id, tuple(user_groups))
self._cache[key] = True
return True
def search(self, cr, uid, args, offset=0, limit=None, order=None,
context=None, count=False):

View File

@ -1,11 +1,11 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_ir_attachment_all","ir_attachment all","model_ir_attachment",,1,0,0,0
"access_ir_attachment_group_user","ir_attachment group_user","model_ir_attachment",group_user,1,1,1,1
"access_ir_attachment_group_user","ir_attachment group_user","model_ir_attachment","group_user",1,1,1,1
"access_ir_cron_group_cron","ir_cron group_cron","model_ir_cron","group_system",1,1,1,1
"access_ir_cron_user","ir_cron user","model_ir_cron","group_user",1,0,0,0
"access_ir_default_group_system","ir_default group_system","model_ir_default",,1,1,1,1
"access_ir_exports_group_system","ir_exports group_system","model_ir_exports",base.group_user,1,1,1,1
"access_ir_exports_line_group_system","ir_exports_line group_system","model_ir_exports_line",base.group_user,1,1,1,1
"access_ir_exports_group_system","ir_exports group_system","model_ir_exports","base.group_user",1,1,1,1
"access_ir_exports_line_group_system","ir_exports_line group_system","model_ir_exports_line","base.group_user",1,1,1,1
"access_ir_model_group_erp_manager","ir_model group_erp_manager","model_ir_model","group_erp_manager",1,1,1,1
"access_ir_model_access_group_erp_manager","ir_model_access_group_erp_manager","model_ir_model_access","group_erp_manager",1,1,1,1
"access_ir_model_grid_group_erp_manager","ir_model_access_grid_group_erp_manager","model_ir_model_grid","group_erp_manager",1,1,1,1
@ -43,8 +43,8 @@
"access_wizard_module_lang_export_group_system","wizard_module_lang_export group_system","model_wizard_module_lang_export","group_system",1,1,1,1
"access_res_company_group_erp_manager","res_company group_erp_manager","model_res_company","group_erp_manager",1,1,1,1
"access_res_company_group_user","res_company group_user","model_res_company",,1,0,0,0
"access_res_config_all","res_config all","model_res_config",group_system,1,1,1,1
"access_res_config_users_all","res_config_users all","model_res_config_users",group_system,1,1,1,1
"access_res_config_all","res_config all","model_res_config","group_system",1,1,1,1
"access_res_config_users_all","res_config_users all","model_res_config_users","group_system",1,1,1,1
"access_res_country_group_all","res_country group_user_all","model_res_country",,1,0,0,0
"access_res_country_state_group_all","res_country_state group_user_all","model_res_country_state",,1,0,0,0
"access_res_country_group_user","res_country group_user","model_res_country","group_partner_manager",1,1,1,1
@ -77,8 +77,8 @@
"access_res_partner_som_group_partner_manager","res_partner_som group_partner_manager","model_res_partner_som","group_user",1,0,0,0
"access_res_partner_title_group_user","res_partner_title group_user","model_res_partner_title","group_partner_manager",1,1,1,1
"access_res_partner_title_group_partner_manager","res_partner_title group_partner_manager","model_res_partner_title",,1,0,0,0
"access_res_request_group_user","res_request group_user","model_res_request",base.group_user,1,1,1,1
"access_res_request_history_group_user","res_request_history group_user","model_res_request_history",base.group_user,1,1,1,1
"access_res_request_group_user","res_request group_user","model_res_request","base.group_user",1,1,1,1
"access_res_request_history_group_user","res_request_history group_user","model_res_request_history","base.group_user",1,1,1,1
"access_res_request_group_user_all","res_request group_user all","model_res_request",,1,0,0,0
"access_res_request_history_group_user_all","res_request_history group_user all","model_res_request_history",,1,0,0,0
"access_res_request_link_group_system","res_request_link group_system","model_res_request_link","group_system",1,1,1,1
@ -123,7 +123,7 @@
"access_res_roles_group_erpmanager","res_roles_group_erp_manager","model_res_roles","group_erp_manager",1,1,1,1
"access_res_config_view_group_erpmanager","res_config_view_erp_manager","model_res_config_view","group_system",1,1,1,1
"access_res_roles_all","res_roles_all","model_res_roles",,1,0,0,0
"access_res_config_view_all","res_config_view_all","model_res_config_view",group_system,1,0,0,0
"access_res_config_view_all","res_config_view_all","model_res_config_view","group_system",1,0,0,0
"access_res_bank_group_partner_manager","res_bank_group_partner_manager","model_res_bank","group_partner_manager",1,1,1,1
"access_res_bank_user","res_bank user","model_res_bank","group_user",1,0,0,0
"access_maintenance_group_user","maintenance_contract group_user","model_maintenance_contract","group_system",1,1,1,1
@ -134,3 +134,4 @@
"access_ir_filter all","ir_filters all","model_ir_filters",,1,0,0,0
"access_ir_filter employee","ir_filters employee","model_ir_filters","group_user",1,1,1,1
"access_res_log all","res_log all","model_res_log",,1,0,1,1
"access_ir_filters","ir_filters_all","model_ir_filters",,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_ir_attachment_all ir_attachment all model_ir_attachment 1 0 0 0
3 access_ir_attachment_group_user ir_attachment group_user model_ir_attachment group_user 1 1 1 1
4 access_ir_cron_group_cron ir_cron group_cron model_ir_cron group_system 1 1 1 1
5 access_ir_cron_user ir_cron user model_ir_cron group_user 1 0 0 0
6 access_ir_default_group_system ir_default group_system model_ir_default 1 1 1 1
7 access_ir_exports_group_system ir_exports group_system model_ir_exports base.group_user 1 1 1 1
8 access_ir_exports_line_group_system ir_exports_line group_system model_ir_exports_line base.group_user 1 1 1 1
9 access_ir_model_group_erp_manager ir_model group_erp_manager model_ir_model group_erp_manager 1 1 1 1
10 access_ir_model_access_group_erp_manager ir_model_access_group_erp_manager model_ir_model_access group_erp_manager 1 1 1 1
11 access_ir_model_grid_group_erp_manager ir_model_access_grid_group_erp_manager model_ir_model_grid group_erp_manager 1 1 1 1
43 access_wizard_module_lang_export_group_system wizard_module_lang_export group_system model_wizard_module_lang_export group_system 1 1 1 1
44 access_res_company_group_erp_manager res_company group_erp_manager model_res_company group_erp_manager 1 1 1 1
45 access_res_company_group_user res_company group_user model_res_company 1 0 0 0
46 access_res_config_all res_config all model_res_config group_system 1 1 1 1
47 access_res_config_users_all res_config_users all model_res_config_users group_system 1 1 1 1
48 access_res_country_group_all res_country group_user_all model_res_country 1 0 0 0
49 access_res_country_state_group_all res_country_state group_user_all model_res_country_state 1 0 0 0
50 access_res_country_group_user res_country group_user model_res_country group_partner_manager 1 1 1 1
77 access_res_partner_som_group_partner_manager res_partner_som group_partner_manager model_res_partner_som group_user 1 0 0 0
78 access_res_partner_title_group_user res_partner_title group_user model_res_partner_title group_partner_manager 1 1 1 1
79 access_res_partner_title_group_partner_manager res_partner_title group_partner_manager model_res_partner_title 1 0 0 0
80 access_res_request_group_user res_request group_user model_res_request base.group_user 1 1 1 1
81 access_res_request_history_group_user res_request_history group_user model_res_request_history base.group_user 1 1 1 1
82 access_res_request_group_user_all res_request group_user all model_res_request 1 0 0 0
83 access_res_request_history_group_user_all res_request_history group_user all model_res_request_history 1 0 0 0
84 access_res_request_link_group_system res_request_link group_system model_res_request_link group_system 1 1 1 1
123 access_res_roles_group_erpmanager res_roles_group_erp_manager model_res_roles group_erp_manager 1 1 1 1
124 access_res_config_view_group_erpmanager res_config_view_erp_manager model_res_config_view group_system 1 1 1 1
125 access_res_roles_all res_roles_all model_res_roles 1 0 0 0
126 access_res_config_view_all res_config_view_all model_res_config_view group_system 1 0 0 0
127 access_res_bank_group_partner_manager res_bank_group_partner_manager model_res_bank group_partner_manager 1 1 1 1
128 access_res_bank_user res_bank user model_res_bank group_user 1 0 0 0
129 access_maintenance_group_user maintenance_contract group_user model_maintenance_contract group_system 1 1 1 1
134 access_ir_filter all ir_filters all model_ir_filters 1 0 0 0
135 access_ir_filter employee ir_filters employee model_ir_filters group_user 1 1 1 1
136 access_res_log all res_log all model_res_log 1 0 1 1
137 access_ir_filters ir_filters_all model_ir_filters 1 1 1 1