diff options
author | Adam Young <ayoung@redhat.com> | 2010-12-01 16:44:44 -0500 |
---|---|---|
committer | Adam Young <ayoung@redhat.com> | 2010-12-01 20:22:30 -0500 |
commit | 85d5bfd1b19b0ed6282a8c6cc056e8e550dde79d (patch) | |
tree | af643478743ecf455425f792687fd3043d14b7c6 | |
parent | 47d61e6cabc7a9053a7878ea3b8676ad59415f39 (diff) | |
download | freeipa-85d5bfd1b19b0ed6282a8c6cc056e8e550dde79d.tar.gz freeipa-85d5bfd1b19b0ed6282a8c6cc056e8e550dde79d.tar.xz freeipa-85d5bfd1b19b0ed6282a8c6cc056e8e550dde79d.zip |
admin determination
extends the logic for showing the admin or self service ui to admins by checking for membership in the group admins
added check for group admins
-rw-r--r-- | install/static/webui.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/install/static/webui.js b/install/static/webui.js index 4b2156c01..dd90b0e20 100644 --- a/install/static/webui.js +++ b/install/static/webui.js @@ -93,9 +93,21 @@ IPA.tab_state = function(entity_name){ } } + + /* main (document onready event handler) */ $(function() { + function should_show_all_ui(){ + var whoami = IPA.whoami; + + if (whoami.hasOwnProperty('memberof_group') && + whoami.memberof_group.indexOf('admins') !== -1) return true; + + return whoami.hasOwnProperty('memberof_rolegroup') && + whoami.memberof_rolegroup.length > 0; + } + function init_on_win(data, text_status, xhr) { $(window).bind('hashchange', window_hashchange); @@ -113,8 +125,7 @@ $(function() { var navigation = $('#navigation'); - if (whoami.hasOwnProperty('memberof_rolegroup') && - whoami.memberof_rolegroup.length > 0){ + if (should_show_all_ui()){ IPA.tab_set = admin_tab_set; nav_create(admin_tab_set, navigation, 'tabs'); } else { |