diff options
Diffstat (limited to 'ecomp-portal-FE-os/client/src')
10 files changed, 98 insertions, 341 deletions
diff --git a/ecomp-portal-FE-os/client/src/directives/search-users/search-users.less b/ecomp-portal-FE-os/client/src/directives/search-users/search-users.less index 2fb1b27e..32ea9caa 100644 --- a/ecomp-portal-FE-os/client/src/directives/search-users/search-users.less +++ b/ecomp-portal-FE-os/client/src/directives/search-users/search-users.less @@ -25,6 +25,10 @@ } + .user:focus { + outline: -webkit-focus-ring-color auto 5px; + background-color:white !important; + } .add-user-section{ margin-top:0px; margin-left:10px; diff --git a/ecomp-portal-FE-os/client/src/services/recommendation/recommendation.service.js b/ecomp-portal-FE-os/client/src/services/recommendation/recommendation.service.js new file mode 100644 index 00000000..4df4e394 --- /dev/null +++ b/ecomp-portal-FE-os/client/src/services/recommendation/recommendation.service.js @@ -0,0 +1,24 @@ +/*- + * ================================================================================ + * 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. + * ================================================================================ + */ +/** + * Created by wl849v on 12/14/2016. + */ + +/*As Recommendation code belongs to internal use Just kept an empty file in order to avoid 404 errors in the browser console */
\ No newline at end of file diff --git a/ecomp-portal-FE-os/client/src/services/userProfile/userProfile.service.js b/ecomp-portal-FE-os/client/src/services/userProfile/userProfile.service.js index dc0022ac..2cc7c329 100644 --- a/ecomp-portal-FE-os/client/src/services/userProfile/userProfile.service.js +++ b/ecomp-portal-FE-os/client/src/services/userProfile/userProfile.service.js @@ -195,7 +195,7 @@ return deferred.promise; } - + } UserProfileService.$inject = ['$q', '$log', '$http', 'conf', 'uuid4', 'utilsService']; angular.module('ecompApp').service('userProfileService', UserProfileService) diff --git a/ecomp-portal-FE-os/client/src/views/catalog/add-catalog-dialogs/new-catalog.controller.js b/ecomp-portal-FE-os/client/src/views/catalog/add-catalog-dialogs/new-catalog.controller.js deleted file mode 100644 index c2eda6ed..00000000 --- a/ecomp-portal-FE-os/client/src/views/catalog/add-catalog-dialogs/new-catalog.controller.js +++ /dev/null @@ -1,218 +0,0 @@ -/*- - * ================================================================================ - * 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. - * ================================================================================ - */ -/** - * Created by nnaffar on 12/20/15. - */ -'use strict'; -(function () { - class NewCatalogModalCtrl { - constructor($scope, $log, usersService, catalogService, applicationsService, confirmBoxService) { - let init = () => { - //$log.info('NewUserModalCtrl::init'); - this.isSaving = false; - this.adminApps =[]; - this.appRoles = []; - $scope.userAppRoles = []; - $scope.titleText = "Request for Access in MyLogins:"; - $scope.title ="Request is pending in MyLogins for the following Roles"; - this.isGettingAdminApps = false; - if($scope.ngDialogData && $scope.ngDialogData.selectedUser && $scope.ngDialogData.dialogState){ - this.selectedUser = $scope.ngDialogData.selectedUser; - this.dialogState = $scope.ngDialogData.dialogState; - this.isShowBack = false; - if(this.dialogState === 2){ - this.getUserAppsRoles(); - } - } - }; - - this.appChanged = (index) => { - let myApp = this.adminApps[index]; - //$log.debug('NewUserModalCtrl::appChanged: index: ', index, '; app id: ', myApp.id, 'app name: ',myApp.name); - myApp.isChanged = true; - this.anyChanges = true; - } - - this.deleteApp = (app) => { - let appMessage = this.selectedUser.firstName + ' ' + this.selectedUser.lastName; - confirmBoxService.deleteItem(appMessage).then(isConfirmed => { - if(isConfirmed){ - this.anyChanges = true; - app.isChanged = true; - app.isDeleted = true; // use this to hide the app in the display - app.appRoles.forEach(function(role){ - role.isApplied = false; - }); - } - }).catch(err => { - $log.error('NewUserModalCtrl::deleteApp error: ',err); - confirmBoxService.showInformation('There was a problem deleting the the applications. ' + - 'Please try again later. Error: ' + err.status).then(isConfirmed => {}); - }); - }; - - this.getUserAppsRoles = () => { - - //$log.debug('NewUserModalCtrl::getUserAppsRoles: about to call getAdminAppsSimpler'); - this.isGettingAdminApps = true; - catalogService.getAppCatalog().then((apps) => { - //$log.debug('NewUserModalCtrl::getUserAppsRoles: beginning of then for getAdminAppsSimpler'); - - this.isGettingAdminApps = false; - if (!apps || !apps.length) { - $log.error('NewUserModalCtrl::getUserApps error: no admin apps found'); - return null; - } - //$log.debug('NewUserModalCtrl::getUserAppsRoles: then for getAdminAppsSimpler: step 2'); - //$log.debug('NewUserModalCtrl::getUserAppsRoles: admin apps: ', apps); - - this.dialogState = 2; - this.isLoading = true; - this.adminApps = apps; - - catalogService.getuserAppRolesCatalog(this.selectedUser.headerText).then( - function(result) { - // $log.debug('CatalogCtrl:storeSelection result is ', result); - - $scope.userAppRoles = result; - $scope.displyUserAppCatalogRoles = true; - if(result.length === 1 && result[0].requestedRoleId === null) - { - $scope.title= "Removal Request is pending in MyLogins"; - } - - if($scope.userAppRoles.length==0) - { - $scope.displyUserAppCatalogRoles = false; - } - }); - apps.forEach(app => { - if(app.name === this.selectedUser.headerText){ - //$log.debug('NewUserModalCtrl::getUserAppsRoles: app: id: ', app.id, 'name: ',app.name); - // Keep track of which app has changed, so we know which apps to update using a BE API - app.isChanged = false; - // Each of these specifies a state, which corresponds to a different message and style that gets displayed - app.isLoading = true; - app.isError = false; - app.isDeleted = false; - app.printNoChanges = false; - app.isUpdating = false; - app.isErrorUpdating = false; - app.isDoneUpdating = false; - app.errorMessage = ""; - usersService.getUserAppRoles(app.id, this.selectedUser.attuid).promise().then((userAppRolesResult) => { - //$log.debug('NewUserModalCtrl::getUserAppsRoles: got a result for app: ',app.id,': ',app.name,': ',userAppRolesResult); - app.appRoles = userAppRolesResult; - app.isLoading = false; - }).catch(err => { - $log.error(err); - app.isError = true; - app.isLoading = false; - app.errorMessage = err.headers('FEErrorString'); - //$log.debug('NewUserModalCtrl::getUserAppsRoles: in new-user.controller: response header: '+err.headers('FEErrorString')); - }).finally(()=>{ - this.numberAppsProcessed++; - if (this.numberAppsProcessed === this.adminApps.length) { - this.isLoading = false; - } - }); - } - }) - return; - }).catch(err => { - $log.error(err); - }) - - } - - - /** - * Update the selected user apps with the new roles. - * If no roles remain, set the user to inactive. - */ - this.updateUserAppsRoles = () => { - // $log.debug('NewUserModalCtrl::updateUserAppsRoles: entering updateUserAppsRoles'); - if(!this.selectedUser || !this.selectedUser.attuid || !this.adminApps){ - $log.error('NewUserModalCtrl::updateUserAppsRoles: mmissing arguments'); - return; - } - this.isSaving = true; - confirmBoxService.makeUserAppRoleCatalogChanges('Are you sure you want to make these changes?') - .then(confirmed => { - if(confirmed === true){ - //$log.debug('NewUserModalCtrl::updateUserAppsRoles: going to update user: ' + this.selectedUser.attuid); - this.numberAppsProcessed = 0; - this.numberAppsSucceeded = 0; - this.adminApps.forEach(app => { - if (app.isChanged) { - //$log.debug('NewUserModalCtrl::updateUserAppsRoles: app roles have changed; going to update: id: ', app.id, '; name: ', app.name); - app.isUpdating = true; - var UserAppRolesRequest = { - attuid: this.selectedUser.attuid, - appId: app.id, - appRoles: app.appRoles, - appName: app.name - }; - this.isSaving = true; - $log.debug('going to update user: ' + this.selectedUser.attuid + ' with app roles: ' + JSON.stringify(this.adminAppsRoles)); - applicationsService.saveUserAppsRoles(UserAppRolesRequest).then(res => { - app.isUpdating = false; - $scope.closeThisDialog(true); - }).catch(err => { - $log.error('NewAdminModalCtrl.updateAdminAppsRoles:: Failed - ' + err); - }).finally(()=> { - this.isSaving = false; - }) - } - }); - }else{ - this.isSaving = false; - } - - - - }); - - }; - - /** - * Navigate between dialog screens using step number: 1,2,... - */ - this.navigateBack = () => { - if (this.dialogState === 1) { - //back from 1st screen? - } - if (this.dialogState === 3) { - this.dialogState = 1; - } - }; - - init(); - - $scope.$on('$stateChangeStart', e => { - //Disable navigation when modal is opened - //**Nabil - note: this will cause the history back state to be replaced with current state - e.preventDefault(); - }); - } - } - NewCatalogModalCtrl.$inject = ['$scope', '$log', 'usersService', 'catalogService', 'applicationsService', 'confirmBoxService']; - angular.module('ecompApp').controller('NewCatalogModalCtrl', NewCatalogModalCtrl); -})(); diff --git a/ecomp-portal-FE-os/client/src/views/catalog/add-catalog-dialogs/new-catalog.modal.html b/ecomp-portal-FE-os/client/src/views/catalog/add-catalog-dialogs/new-catalog.modal.html deleted file mode 100644 index 3578cc09..00000000 --- a/ecomp-portal-FE-os/client/src/views/catalog/add-catalog-dialogs/new-catalog.modal.html +++ /dev/null @@ -1,113 +0,0 @@ -<!-- - ================================================================================ - 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. - ================================================================================ - --> -<div class="new-catalog-modal"> - - <div class="user-catalog-roles" ng-show="userInfo.dialogState===2"> - <div > - <div class=display-userApp-Catalog-Roles >{{titleText}}</div> - <div class="title" - ng-bind="userInfo.selectedUser.firstName + ' ' + userInfo.selectedUser.lastName + ' (' + userInfo.selectedUser.attuid + ')'"></div> - </div> - <div class="app-roles-main"> - - <div class="app-catalog-roles-list"> - <div class="app-catalog-item" ng-repeat="app in userInfo.adminApps" - ng-if="app.name === userInfo.selectedUser.headerText" - id="app-name-{{app.name.split(' ').join('-')}}"> - <div class="app-catalog-item-left" - id="div-app-name-{{app.name.split(' ').join('-')}}">{{app.name - | elipsis: 27}}</div> - <div class="app-catalog-item-right" - id="div-app-name-dropdown-{{app.name.split(' ').join('-')}}" - ng-show="!app.isError && !app.isLoading && !app.noChanges && !app.isUpdating && !app.isDoneUpdating && !app.isErrorUpdating" - ng-if="userAppRoles.length===0"> - <multiple-select id="app-roles" unique-data="{{$index}}" - placeholder="Select roles" ng-model="app.appRoles" - on-change="userInfo.appChanged($index)" name-attr="roleName" - value-attr="isApplied"></multiple-select> - </div> - - <div class="app-catalog-item-right" - id="div-app-name-dropdown-{{app.name.split(' ').join('-')}}" - ng-show="!app.isError && !app.isLoading && !app.noChanges && !app.isUpdating && !app.isDoneUpdating && !app.isErrorUpdating" - ng-if="userAppRoles.length!==0"> - <multiple-select2 id="app-roles" unique-data="{{$index}}" - placeholder="Select roles" ng-model="app.appRoles" - on-change="userInfo.appChanged($index)" name-attr="roleName" - value-attr="isApplied"></multiple-select2> - </div> - - - <div id="app-item-no-contact" class="app-catalog-item-right-error" - ng-show="app.isError">{{app.errorMessage | elipsis: 35}}</div> - <div id="app-item-contacting" - class="app-catalog-item-right-contacting" ng-show="app.isLoading">Contacting - application...</div> - <div id="app-item-no-changes" - class="app-catalog-item-right-contacting" ng-show="app.noChanges">No - changes</div> - <div id="app-item-no-updating" - class="app-catalog-item-right-contacting" ng-show="app.isUpdating">Updating - application...</div> - <div id="app-item-done-updating" - class="app-catalog-item-right-contacting" - ng-show="app.isDoneUpdating">Finished updating application</div> - <div id="app-item-cannot-update" - class="app-catalog-item-right-error" ng-show="app.isErrorUpdating">Could - not update application...</div> - <div id='ecomp-small-spinner' class="ecomp-small-spinner" - ng-show="app.isLoading"></div> - </div> - - - - <div class="usr-app-roles" ng-show=displyUserAppCatalogRoles> - <div class="userApp-Catalog-Roles-label">{{title}}</div> - - <div class="display-userApp-Catalog-Roles-value" - style="height: 150px; width: 200px; overflow-y: auto;"> - <div ng-repeat="getUserApplicationRole in userAppRoles"> - - <div class="userAppCatalog-lbl-value"> - <span class="userAppCatalog-lbl-value-spn"> - {{getUserApplicationRole.rolename}}</span> - </div> - - </div> - </div> - - </div> - </div> - - <div class="dialog-control"> - <span id="ecomp-save-spinner" class="ecomp-save-spinner" - ng-show="userInfo.isSaving || userInfo.isGettingAdminApps"></span> - <button id="new-user-next-button" class="next-button" - ng-click="userInfo.updateUserAppsRoles()" - ng-disabled="(!userInfo.anyChanges == true)">Submit</button> - <div id="new-user-cancel-button" class="cancel-button" - ng-click="closeThisDialog()">Cancel</div> - </div> - - </div> - - </div> - -</div> diff --git a/ecomp-portal-FE-os/client/src/views/catalog/get-accessswitch.html b/ecomp-portal-FE-os/client/src/views/catalog/get-accessswitch.html new file mode 100644 index 00000000..5cda74a4 --- /dev/null +++ b/ecomp-portal-FE-os/client/src/views/catalog/get-accessswitch.html @@ -0,0 +1,10 @@ +<div class="gridster-box-content" + ng-style="{'cursor':'pointer', + 'background-image': 'url('+(item.imageLink)+')', + 'order': item.order, + 'background-color':'white', + 'background-repeat': 'no-repeat', + 'background-size': '170px 130px'}" + ng-click="catalog.getAccess(item)" + ng-hide="users.isLoadingTable && !users.getAppCatalogIsDone"> +</div>
\ No newline at end of file diff --git a/ecomp-portal-FE-os/client/src/views/footer/footer.controller.js b/ecomp-portal-FE-os/client/src/views/footer/footer.controller.js index 5db3ed0f..d21c829e 100644 --- a/ecomp-portal-FE-os/client/src/views/footer/footer.controller.js +++ b/ecomp-portal-FE-os/client/src/views/footer/footer.controller.js @@ -20,18 +20,24 @@ 'use strict'; (function () { class FooterCtrl { - constructor($scope, $rootScope, manifestService, $log) { + constructor($scope, $rootScope, manifestService, $log, menusService) { this.manifestService = manifestService; this.$log = $log; this.$scope = $scope; this.$rootScope = $rootScope; - $scope.buildinfo = null; $rootScope.showFooter = true; $scope.date = new Date(); - - + $scope.ecompTitle=''; + + menusService.getEcompPortalTitle() + .then(title=> { + $scope.ecompTitle = title.response; + }).catch(err=> { + $log.error('FooterCtrl.getEcompPortalTitle:: Error retrieving ECMOP portal title: ' + err); + }); + manifestService.getManifest().then( jsonObj => { // $log.debug('FooterCtrl.getManifest: ', JSON.stringify(jsonObj)); $scope.buildInfo = jsonObj; @@ -43,6 +49,6 @@ } - FooterCtrl.$inject = ['$scope', '$rootScope', 'manifestService', '$log']; + FooterCtrl.$inject = ['$scope', '$rootScope', 'manifestService', '$log', 'menusService']; angular.module('ecompApp').controller('FooterCtrl', FooterCtrl); })(); diff --git a/ecomp-portal-FE-os/client/src/views/footer/footer.tpl.html b/ecomp-portal-FE-os/client/src/views/footer/footer.tpl.html index 37148abf..b03e8da5 100644 --- a/ecomp-portal-FE-os/client/src/views/footer/footer.tpl.html +++ b/ecomp-portal-FE-os/client/src/views/footer/footer.tpl.html @@ -23,10 +23,13 @@ <div id="footer-info" class="attFooterInfo" style="text-align: center;"> <div id="footer-last-section" class="footerLastSection"> <div id="footer-text" class="footerText"> - OpenECOMP Portal Version {{buildInfo.manifest['Manifest-Version']}}. - </div> - <div id="display-inline" class="displayInline"> - </div> + {{ecompTitle}} Version {{buildInfo.manifest['Build-Number']}}. + </div> + <div id="display-inline" class="displayInline"> + </div> + </div> + <div> + <img src="assets/images/onap-logo.png" alt="Onap Logo" class="onap-title-logo-footer" > </div> </div> </div> diff --git a/ecomp-portal-FE-os/client/src/views/headerRecommendation/headerRecommendations.controller.js b/ecomp-portal-FE-os/client/src/views/headerRecommendation/headerRecommendations.controller.js new file mode 100644 index 00000000..0c152062 --- /dev/null +++ b/ecomp-portal-FE-os/client/src/views/headerRecommendation/headerRecommendations.controller.js @@ -0,0 +1,20 @@ +/*- + * ================================================================================ + * 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. + * ================================================================================ + */ +/*As Recommendation code belongs to internal use Just kept an empty file in order to avoid 404 errors in the browser console */
\ No newline at end of file diff --git a/ecomp-portal-FE-os/client/src/views/headerRecommendation/headerRecommendations.tpl.html b/ecomp-portal-FE-os/client/src/views/headerRecommendation/headerRecommendations.tpl.html new file mode 100644 index 00000000..68917389 --- /dev/null +++ b/ecomp-portal-FE-os/client/src/views/headerRecommendation/headerRecommendations.tpl.html @@ -0,0 +1,21 @@ +<!-- + ================================================================================ + 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. + ================================================================================ + --> + +<!-- As Recommendation code belongs to Internal use Just kept an empty file in order to avoid 404 errors in the browser console -->
\ No newline at end of file |