diff options
author | Endi S. Dewata <edewata@redhat.com> | 2015-12-22 22:01:10 +0100 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2016-01-18 16:45:07 +0100 |
commit | 77d6c95527f2f7299e3baece465ef9d778815745 (patch) | |
tree | 60a0cfe4f7f45e87559dd05ed62070fd5e487b4f /base | |
parent | 9a6a3d1cbf6e347b2cf0737afca4f793a6a0d0ba (diff) | |
download | pki-77d6c95527f2f7299e3baece465ef9d778815745.tar.gz pki-77d6c95527f2f7299e3baece465ef9d778815745.tar.xz pki-77d6c95527f2f7299e3baece465ef9d778815745.zip |
Fixed TPS UI to display accessible services only.
The TPS UI has been modified to display the accessible services
based on the user's roles. A TPS admin has access to all services.
A TPS agent has access to tokens, certificates, activities, and
profiles. A TPS operator has access to tokens, certificates, and
activities only.
https://fedorahosted.org/pki/ticket/1476
Diffstat (limited to 'base')
-rw-r--r-- | base/tps/shared/webapps/tps/js/tps.js | 16 | ||||
-rw-r--r-- | base/tps/shared/webapps/tps/ui/home.html | 4 | ||||
-rw-r--r-- | base/tps/shared/webapps/tps/ui/index.html | 23 |
3 files changed, 35 insertions, 8 deletions
diff --git a/base/tps/shared/webapps/tps/js/tps.js b/base/tps/shared/webapps/tps/js/tps.js index f6e389784..cf1cc0b83 100644 --- a/base/tps/shared/webapps/tps/js/tps.js +++ b/base/tps/shared/webapps/tps/js/tps.js @@ -118,18 +118,32 @@ var PropertiesTable = Table.extend({ var HomePage = Page.extend({ load: function() { + var self = this; + self.update(); + }, + update: function() { + if (!tps.user) return; var roles = tps.user.Roles.Role; var home_accounts = self.$("[name=home-accounts]"); var home_system = self.$("[name=home-system]"); if (_.contains(roles, "Administrators")) { home_accounts.show(); + } else { + home_accounts.hide(); + } + + if (_.contains(roles, "Administrators")) { + home_system.show(); $("li", home_system).show(); } else if (_.contains(roles, "TPS Agents")) { - home_accounts.hide(); + home_system.show(); $("li", home_system).hide(); $("[name=profiles]", home_system).show(); + + } else { + home_system.hide(); } } }); diff --git a/base/tps/shared/webapps/tps/ui/home.html b/base/tps/shared/webapps/tps/ui/home.html index eb6874e50..6ad285076 100644 --- a/base/tps/shared/webapps/tps/ui/home.html +++ b/base/tps/shared/webapps/tps/ui/home.html @@ -36,7 +36,7 @@ </div> </div> -<div name="home-accounts" class="panel panel-default"> +<div name="home-accounts" class="panel panel-default" style="display: none;"> <div class="panel-heading"> <h3 class="panel-title">Account Management</h3> </div> @@ -48,7 +48,7 @@ </div> </div> -<div name="home-system" class="panel panel-default"> +<div name="home-system" class="panel panel-default" style="display: none;"> <div class="panel-heading"> <h3 class="panel-title">System Management</h3> </div> diff --git a/base/tps/shared/webapps/tps/ui/index.html b/base/tps/shared/webapps/tps/ui/index.html index 4bf0ea94b..5e07f1ed3 100644 --- a/base/tps/shared/webapps/tps/ui/index.html +++ b/base/tps/shared/webapps/tps/ui/index.html @@ -58,13 +58,24 @@ $(function() { if (_.contains(roles, "Administrators")) { accounts_menu.show(); + } else { + accounts_menu.hide(); + } + + if (_.contains(roles, "Administrators")) { + system_menu.show(); $("li", system_menu).show(); } else if (_.contains(roles, "TPS Agents")) { - accounts_menu.hide(); + system_menu.show(); $("li", system_menu).hide(); $("[name=profiles]", system_menu).show(); + + } else { + system_menu.hide(); } + + homePage.update(); }, error: function(jqXHR, textStatus, errorThrown) { window.location.href = "/tps"; @@ -75,11 +86,13 @@ $(function() { var router = new Backbone.Router(); + var homePage = new HomePage({ + el: content, + url: "home.html" + }); + router.route("", "home", function() { - new HomePage({ - el: content, - url: "home.html" - }).open(); + homePage.open(); }); router.route("activities", "activities", function() { |