mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-18 11:58:24 +01:00
Fix some bugs in ACL:
- Remove 'all applications' as an ACL option - Fix list refresh and edit dialog don't work after first edit
This commit is contained in:
parent
56d8947ccc
commit
a20ad52fd0
@ -399,33 +399,37 @@ app.classes.admin = AppJS.extend(
|
|||||||
// Determine which application we're running as
|
// Determine which application we're running as
|
||||||
var app = egw.app_name(); // can be either admin or preferences!
|
var app = egw.app_name(); // can be either admin or preferences!
|
||||||
if (app != 'admin') app = 'preferences';
|
if (app != 'admin') app = 'preferences';
|
||||||
|
// Get by ID, since this.et2 isn't always the ACL list
|
||||||
|
var et2 = etemplate2.getById('admin-acl').widgetContainer;
|
||||||
var className = app+'_acl';
|
var className = app+'_acl';
|
||||||
var acl_rights = {};
|
var acl_rights = {};
|
||||||
var readonlys = {acl: {}};
|
var readonlys = {acl: {}};
|
||||||
|
|
||||||
// Select options are already here, just pull them and pass along
|
// Select options are already here, just pull them and pass along
|
||||||
sel_options = jQuery.extend({}, this.et2.getArrayMgr('sel_options').data||{}, {
|
sel_options = jQuery.extend({}, et2.getArrayMgr('sel_options').data||{}, {
|
||||||
'apps': this.et2.getArrayMgr('sel_options').getEntry('filter2')
|
'apps': et2.getArrayMgr('sel_options').getEntry('filter2')
|
||||||
},sel_options);
|
},sel_options);
|
||||||
|
// Remove 'All applications'
|
||||||
|
delete sel_options.apps[''];
|
||||||
|
|
||||||
// Some defaults
|
// Some defaults
|
||||||
if(this.et2 && this.et2.getWidgetById('nm'))
|
if(et2 && et2.getWidgetById('nm'))
|
||||||
{
|
{
|
||||||
// This is which checkboxes are available for each app
|
// This is which checkboxes are available for each app
|
||||||
var acl_rights = this.et2.getWidgetById('nm').getArrayMgr('content').getEntry('acl_rights')||{};
|
var acl_rights = et2.getWidgetById('nm').getArrayMgr('content').getEntry('acl_rights')||{};
|
||||||
|
|
||||||
if(!content.acl_appname)
|
if(!content.acl_appname)
|
||||||
{
|
{
|
||||||
// Pre-set appname to currently selected
|
// Pre-set appname to currently selected
|
||||||
content.acl_appname = this.et2.getWidgetById('filter2').getValue()||"";
|
content.acl_appname = et2.getWidgetById('filter2').getValue()||"";
|
||||||
}
|
}
|
||||||
if(!content.acl_account)
|
if(!content.acl_account)
|
||||||
{
|
{
|
||||||
content.acl_account = this.et2.getWidgetById('nm').getArrayMgr('content').getEntry('account_id');
|
content.acl_account = et2.getWidgetById('nm').getArrayMgr('content').getEntry('account_id');
|
||||||
}
|
}
|
||||||
if(!content.acl_location)
|
if(!content.acl_location)
|
||||||
{
|
{
|
||||||
content.acl_location = this.et2.getWidgetById('filter').getValue() == 'run' ? 'run' : null;
|
content.acl_location = et2.getWidgetById('filter').getValue() == 'run' ? 'run' : null;
|
||||||
}
|
}
|
||||||
// If no admin rights, change UI to not allow adding access to apps
|
// If no admin rights, change UI to not allow adding access to apps
|
||||||
if(content.acl_location == 'run' && !egw.user('apps')['admin'])
|
if(content.acl_location == 'run' && !egw.user('apps')['admin'])
|
||||||
@ -596,7 +600,9 @@ app.classes.admin = AppJS.extend(
|
|||||||
{
|
{
|
||||||
// Avoid the window / framework / app and just refresh the etemplate
|
// Avoid the window / framework / app and just refresh the etemplate
|
||||||
// Framework will try to refresh the opener
|
// Framework will try to refresh the opener
|
||||||
this.et2.getInstanceManager().refresh(_data.msg, this.appname,_data.ids,_data.type);
|
// Get by ID, since this.et2 isn't always the ACL list
|
||||||
|
var et2 = etemplate2.getById('admin-acl').widgetContainer;
|
||||||
|
et2.getInstanceManager().refresh(_data.msg, this.appname,_data.ids,_data.type);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user