diff options
Diffstat (limited to 'ecomp-portal-FE/client/app/views/sidebar/sidebar.controller.js')
-rw-r--r-- | ecomp-portal-FE/client/app/views/sidebar/sidebar.controller.js | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/ecomp-portal-FE/client/app/views/sidebar/sidebar.controller.js b/ecomp-portal-FE/client/app/views/sidebar/sidebar.controller.js new file mode 100644 index 00000000..76d5301c --- /dev/null +++ b/ecomp-portal-FE/client/app/views/sidebar/sidebar.controller.js @@ -0,0 +1,143 @@ +/*- + * ================================================================================ + * eCOMP Portal + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ================================================================================ + */ +'use strict'; +(function () { + class SidebarCtrl { + constructor(userProfileService, $log, $rootScope) { + this.$log = $log; + this.userProfileService = userProfileService; + this.$rootScope = $rootScope; + $rootScope.isAdminPortalAdmin = false; + + //if (bowser.msie || bowser.msedge) + // $log.debug('SidebarCtrl::init: Browser is: Internet Explorer or Edge'); + // else + // $log.debug('SidebarCtrl::init: Browser is: ' + bowser.name + ': ' + bowser.version); + + userProfileService.getUserProfile() + .then(profile=> { + // $log.debug('SidebarCtrl::getUserProfile: profile.roles.indexOf(superAdmin) = ' + profile.roles.indexOf('superAdmin')); + // $log.debug('SidebarCtrl::getUserProfile: profile.roles.indexOf(admin) = ' + profile.roles.indexOf('admin')); + if (profile.roles.indexOf('superAdmin') > -1) { + $rootScope.isAdminPortalAdmin = true; + // this.$log.debug('SidebarCtrl::getUserProfile: user has the superAdmin role'); + this.sidebarModel = { + label: 'ECOMP portal', + navItems: [ + { + name: 'Home', + state: 'root.applicationsHome', + imageSrc : 'ion-home' + }, { + name: 'Application Catalog', + state: 'root.appCatalog', + imageSrc : 'ion-grid' + }, { + name: 'Widgets', + state: 'root.widgetsHome', + imageSrc : 'ion-android-apps' + }, { + name: 'Admins', + state: 'root.admins', + imageSrc : 'ion-android-star' + }, { + name: 'Users', + state: 'root.users', + imageSrc : 'ion-person' + },{ + name: 'Portal Admins', + state: 'root.portalAdmins', + imageSrc : 'ion-gear-a' + }, { + name: 'Application Onboarding', + state: 'root.applications', + imageSrc : 'ion-ios-upload-outline' + }, { + name: 'Widget Onboarding', + state: 'root.widgets', + imageSrc : 'ion-ios-upload-outline' + },{ + name: 'Edit Functional Menu', + state: 'root.functionalMenu', + imageSrc : 'ion-compose' + } + ] + }; + } + else if (profile.roles.indexOf('admin') > -1) { + // this.$log.debug('SidebarCtrl::getUserProfile: user has the admin role'); + this.sidebarModel = { + label: 'ECOMP portal', + navItems: [ + { + name: 'Home', + state: 'root.applicationsHome', + imageSrc : 'ion-home' + }, { + name: 'Application Catalog', + state: 'root.appCatalog', + imageSrc : 'ion-grid' + }, { + name: 'Widgets', + state: 'root.widgetsHome', + imageSrc : 'ion-grid' + }, { + name: 'Users', + state: 'root.users', + imageSrc : 'ion-person' + }, { + name: 'Widget Onboarding', + state: 'root.widgets', + imageSrc : 'ion-grid' + } + ] + }; + } + else { + $rootScope.isAdminPortalAdmin = false; + // this.$log.debug('SidebarCtrl::getUserProfile: user is not superAdmin nor admin'); + this.sidebarModel = { + label: 'ECOMP portal', + navItems: [ + { + name: 'Home', + state: 'root.applicationsHome', + imageSrc : 'ion-home' + }, { + name: 'Application Catalog', + state: 'root.appCatalog', + imageSrc : 'ion-grid' + }, { + name: 'Widgets', + state: 'root.widgetsHome', + imageSrc : 'ion-grid' + } + ] + }; + } + }).catch(err=> { + $log.error('SidebarCtrl: failed to get user profile: ' + err); + }); + + } + } + SidebarCtrl.$inject = ['userProfileService', '$log', '$rootScope']; + angular.module('ecompApp').controller('SidebarCtrl', SidebarCtrl); +})(); |