From b0907096bf3c65116a60ebf566b76bb4527efcbe Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Fri, 19 Sep 2014 16:40:18 +0000 Subject: [PATCH] UI improvements to Access dialog for non-admin users --- admin/inc/class.admin_acl.inc.php | 2 ++ admin/js/app.js | 11 ++++++++++- admin/templates/default/acl.xet | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/admin/inc/class.admin_acl.inc.php b/admin/inc/class.admin_acl.inc.php index f95ffebf68..5eb27d0253 100644 --- a/admin/inc/class.admin_acl.inc.php +++ b/admin/inc/class.admin_acl.inc.php @@ -409,10 +409,12 @@ class admin_acl 'caption' => 'Edit', 'default' => true, 'allowOnMultiple' => false, + 'disableClass' => 'rowNoEdit', 'onExecute' => 'javaScript:app.admin.acl', ), 'add' => array( 'caption' => 'Add', + 'disableClass' => 'rowNoEdit', 'onExecute' => 'javaScript:app.admin.acl', ), 'delete' => array( diff --git a/admin/js/app.js b/admin/js/app.js index a06aedd5ed..93d064bf17 100644 --- a/admin/js/app.js +++ b/admin/js/app.js @@ -468,6 +468,11 @@ app.classes.admin = AppJS.extend( { content.acl_location = this.et2.getWidgetById('filter').getValue() == 'run' ? 'run' : null; } + // If no admin rights, change UI to not allow adding access to apps + if(content.acl_location == 'run' && !egw.user('apps')['admin']) + { + content.acl_location = null; + } if(content.acl_location == 'run') { // These are the apps the account has access to @@ -506,7 +511,7 @@ app.classes.admin = AppJS.extend( // Make sure selected values are there, account might not be in a default group // so not in cache - if(content.acl_account) + if(content.acl_account && egw.user('apps')['admin']) { var accounts = this.egw.accounts('both'); var there = false; @@ -524,6 +529,10 @@ app.classes.admin = AppJS.extend( this.egw.link_title('home-accounts', content.acl_account, function(title) {sel_options.acl_account.push({value: content.acl_account, label: title});}); } } + else if (content.acl_account) + { + readonlys.acl_account = true; + } if(content.acl_location) { sel_options.acl_location = jQuery.extend({},sel_options.acl_location); diff --git a/admin/templates/default/acl.xet b/admin/templates/default/acl.xet index be8679fc11..9ad21516e9 100644 --- a/admin/templates/default/acl.xet +++ b/admin/templates/default/acl.xet @@ -35,7 +35,7 @@ - +