diff options
Diffstat (limited to 'ecomp-portal-FE/client/app/directives/search-users')
5 files changed, 0 insertions, 669 deletions
diff --git a/ecomp-portal-FE/client/app/directives/search-users/search-users.controller.js b/ecomp-portal-FE/client/app/directives/search-users/search-users.controller.js deleted file mode 100644 index 649b3ab2..00000000 --- a/ecomp-portal-FE/client/app/directives/search-users/search-users.controller.js +++ /dev/null @@ -1,161 +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. - * ================================================================================ - */ - -'use strict'; -(function () { - class SearchUsersCtrl { - - constructor($log, usersService,adminsService, $scope,confirmBoxService) { - - $scope.UserSearchsIsNull=false; - $scope.userExist = false; - this.scrollApi = {};//scrollTop directive - - this.showAddUser = false; - this.showSearch = true; - this.newUser ={ - firstName:'', - lastName:'', - emailAddress:'', - - middleName:'', - loginId:'', - loginPwd:'', - loginPwdCheck:'' - }; - - let activeRequests = []; - let clearReq = (req) => { - activeRequests.splice(activeRequests.indexOf(req), 1); - }; - - this.showAddUserSection = () => { - this.showAddUser = true; - this.showSearch = false; - } - - this.addNewUserFun = () => { - if (this.newUser.loginId =='' || this.newUser.loginPwd == '' || this.newUser.firstName == '' || this.newUser.lastName =='' || this.newUser.emailAddress ==''||this.newUser.loginPwd ==''){ - var warningMsg = "Please enter a value for all fields marked with *."; - confirmBoxService.showInformation(warningMsg).then(isConfirmed => {return;}); - return; - } else if (this.newUser.loginPwd != this.newUser.loginPwdCheck) { - var warningMsg = "Passwords do not match, please try again."; - confirmBoxService.showInformation(warningMsg).then(isConfirmed => {return;}); - return; - } - else { - // check password length complexity. - var warningMsg = adminsService.isComplexPassword(this.newUser.loginPwd); - if (warningMsg != null) { - confirmBoxService.showInformation(warningMsg).then(isConfirmed => {return;}); - return; - } - } // password - - adminsService.addNewUser(this.newUser,'Yes').then(res=> { - - if(res.message == 'Record already exist'){ - - this.showAddUser = true; - this.showSearch = false; - $scope.userExist = true; - - }else{ - - $scope.userExist = false; - this.selectedUser = this.newUser; - this.selectedUser.orgUserId = this.newUser.loginId; - this.searchUsersResults = []; - this.searchUsersResults.push(this.newUser); - this.showAddUser = false; - this.showSearch = true; - this.newUser ={ - firstName:'', - lastName:'', - emailAdress:'', - middleName:'', - loginId:'', - loginPwd:'', - loginPwdCheck:'' - }; - this.searchUserString =''; - $scope.UserSearchsIsNull = false; - } - - - }).catch(err=> { - $log.error('adminsService: addNewUser error:: ', err); - // $scope.errMsg=err; - confirmBoxService.showInformation('Add New User failed: ' + err); - - }).finally(() => { - //this.isLoadingTable = false; - - }); - } - - this.searchUsers = () => { - this.isLoading = true; - if(this.searchUsersInProgress){ - return; - } - this.selectedUser = null; - this.searchUsersInProgress = true; - this.searchUsersResults = null; - - let searchUsersReq = usersService.searchUsers(this.searchUserString); - activeRequests.push(searchUsersReq); - searchUsersReq.promise().then(usersList => { - $log.debug('searchUsers found the following users: ', JSON.stringify(usersList)); - this.searchUsersResults = usersList; - $scope.UserSearchsIsNull=false; - }).catch(err => { - $log.error('SearchUsersCtrl.searchUsers: ' + err); - $scope.UserSearchsIsNull=true; - }).finally(() => { - this.scrollApi.scrollTop(); - this.searchUsersInProgress = false; - clearReq(searchUsersReq); - this.isLoading = false; - }); - }; - - let init = () => { - this.isLoading = false; - this.searchUsersInProgress = false; - }; - - this.setSelectedUser = user => { - this.selectedUser = user; - }; - - init(); - - $scope.$on('$destroy', () => { - activeRequests.forEach(req => { - req.cancel(); - }); - }); - } - } - SearchUsersCtrl.$inject = ['$log', 'usersService','adminsService', '$scope','confirmBoxService']; - angular.module('ecompApp').controller('SearchUsersCtrl', SearchUsersCtrl); -})(); diff --git a/ecomp-portal-FE/client/app/directives/search-users/search-users.controller.spec.js b/ecomp-portal-FE/client/app/directives/search-users/search-users.controller.spec.js deleted file mode 100644 index 96f5b0df..00000000 --- a/ecomp-portal-FE/client/app/directives/search-users/search-users.controller.spec.js +++ /dev/null @@ -1,176 +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. - * ================================================================================ - */ - -//'use strict'; -// -//describe('Controller: NewAdminCtrl ', () => { -// beforeEach(module('ecompApp')); -// -// //destroy $http default cache before starting to prevent the error 'default cache already exists' -// beforeEach(inject((_CacheFactory_)=> { -// _CacheFactory_.destroyAll(); -// })); -// -// -// let newCtrl, $controller, $q, $rootScope, $log; -// -// beforeEach(inject((_$controller_, _$q_, _$rootScope_, _$log_)=> { -// [$controller, $q, $rootScope, $log] = [_$controller_, _$q_, _$rootScope_, _$log_]; -// })); -// -// let deferredUsersList, deferredAdminAppsRoles, deferredUpdateRolesRes; -// let usersServiceMock, adminsServiceMock; -// beforeEach(()=> { -// [deferredUsersList, deferredAdminAppsRoles, deferredUpdateRolesRes] = [$q.defer(), $q.defer(), $q.defer()]; -// -// //usersServiceMock = jasmine.createSpyObj('usersServiceMock', ['searchUsers']); -// usersServiceMock = { -// searchUsers: () => { -// var promise = () => {return deferredUsersList.promise}; -// var cancel = jasmine.createSpy(); -// return { -// promise: promise, -// cancel: cancel -// } -// } -// }; -// -// adminsServiceMock = jasmine.createSpyObj('adminsServiceMock', ['getAdminAppsRoles', 'updateAdminAppsRoles']); -// -// //usersServiceMock.searchUsers.and.returnValue(deferredUsersList.promise); -// adminsServiceMock.getAdminAppsRoles.and.returnValue(deferredAdminAppsRoles.promise); -// adminsServiceMock.updateAdminAppsRoles.and.returnValue(deferredUpdateRolesRes.promise); -// -// newCtrl = $controller('NewAdminModalCtrl', { -// $log: $log, -// usersService: usersServiceMock, -// adminsService: adminsServiceMock, -// $scope: $rootScope -// }); -// }); -// -// it('should init default values when loading the controller', ()=> { -// //expect(newCtrl.searchUsersInProgress).toBe(false); -// expect(newCtrl.dialogState).toBe(1); -// expect(newCtrl.selectedUser).toBe(null); -// }); -// -// it('should populate retrieved users when search users service returns a list ', ()=> { -// //spyOn(usersServiceMock, 'searchUsers'); -// let usersListRes = [{user: 1}, {user: 2}]; -// newCtrl.searchUserString = 'some user name'; -// deferredUsersList.resolve(usersListRes); -// newCtrl.searchUsers(); -// $rootScope.$apply(); -// -// //expect(usersServiceMock.searchUsers).toHaveBeenCalledWith(newCtrl.searchUserString); -// expect(newCtrl.searchUsersResults).toEqual(usersListRes); -// expect(newCtrl.searchUsersInProgress).toBe(false); -// }); -// -// it('should log the error when search users fails', ()=> { -// spyOn($log, 'error'); -// deferredUsersList.reject('oh snap!'); -// newCtrl.searchUsers(); -// $rootScope.$apply(); -// expect($log.error).toHaveBeenCalled(); -// }); -// -// it('should populate admin apps roles and move to the next screen when adminsService.getAdminAppsRoles succeeded', ()=> { -// let userApps = {appsRoles: [{id: 1, isAdmin: false}, {id: 2, isAdmin: true}]}; -// deferredAdminAppsRoles.resolve(userApps); -// -// newCtrl.searchUsersInProgress = false; -// newCtrl.selectedUser = {userId: 'userId'}; -// -// newCtrl.getAdminAppsRoles(); -// $rootScope.$apply(); -// -// expect(adminsServiceMock.getAdminAppsRoles).toHaveBeenCalledWith(newCtrl.selectedUser.userId); -// expect(newCtrl.adminAppsRoles).toEqual(userApps.appsRoles); -// expect(newCtrl.dialogState).toBe(2); -// }); -// -// it('should log the error when adminsService.getAdminAppsRoles fails', ()=> { -// spyOn($log, 'error'); -// deferredAdminAppsRoles.reject('some error'); -// -// newCtrl.searchUsersInProgress = false; -// newCtrl.selectedUser = {userId: 'userId'}; -// -// newCtrl.getAdminAppsRoles(); -// $rootScope.$apply(); -// -// expect($log.error).toHaveBeenCalled(); -// }); -// it('should log the error when trying to getAdminAppsRoles without selecting user ', ()=> { -// spyOn($log, 'error'); -// -// newCtrl.searchUsersInProgress = false; -// newCtrl.selectedUser = null; -// -// newCtrl.getAdminAppsRoles(); -// $rootScope.$apply(); -// -// expect($log.error).toHaveBeenCalled(); -// }); -// //it('should setSelectedUser when choosing user', ()=> { -// // -// //}); -// //it('should set isAdmin as false when removing app from the administrated apps list', ()=> { -// //}); -// it('should set isAdmin as true when adding app via the dropdown menu', ()=> { -// newCtrl.adminAppsRoles = [{id: 1, isAdmin: false},{id: 2, isAdmin: true}]; -// //simulate UI change -// $rootScope.$apply('newAdmin.selectedNewApp = null'); -// $rootScope.$apply('newAdmin.selectedNewApp = {id: 1, isAdmin: true}'); -// -// expect(newCtrl.adminAppsRoles[0].isAdmin).toBe(true); -// expect(newCtrl.selectedNewApp).toBe(null); -// }); -// -// it('should close the modal when updating apps roles succeeded', ()=> { -// $rootScope.closeThisDialog = () => {}; -// spyOn($rootScope,'closeThisDialog'); -// -// newCtrl.selectedUser = {userId: 'userId'}; -// newCtrl.adminAppsRoles = [{id: 1}]; -// -// deferredUpdateRolesRes.resolve(); -// newCtrl.updateAdminAppsRoles(); -// $rootScope.$apply(); -// -// expect(adminsServiceMock.updateAdminAppsRoles).toHaveBeenCalledWith({userId: newCtrl.selectedUser.userId, appsRoles: newCtrl.adminAppsRoles}); -// expect($rootScope.closeThisDialog).toHaveBeenCalled(); -// }); -// it('should log the error when updating apps roles fails', ()=> { -// newCtrl.selectedUser = {userId: 'userId'}; -// newCtrl.adminAppsRoles = [{id: 1}]; -// -// spyOn($log,'error'); -// deferredUpdateRolesRes.reject(); -// newCtrl.updateAdminAppsRoles(); -// $rootScope.$apply(); -// expect($log.error).toHaveBeenCalled(); -// }); -// //it('should display the add admin dropdown when clicking the add button', ()=> { -// //}); -// -//}); diff --git a/ecomp-portal-FE/client/app/directives/search-users/search-users.directive.js b/ecomp-portal-FE/client/app/directives/search-users/search-users.directive.js deleted file mode 100644 index 4e5809f9..00000000 --- a/ecomp-portal-FE/client/app/directives/search-users/search-users.directive.js +++ /dev/null @@ -1,34 +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. - * ================================================================================ - */ - -angular.module('ecompApp') - .directive('searchUsers', function () { - return { - restrict: 'E', - templateUrl: 'app/directives/search-users/search-users.tpl.html', - controller: 'SearchUsersCtrl', - controllerAs: 'searchUsers', - bindToController: true, - scope: { - selectedUser: '=', - searchTitle: '@' - } - }; - }); diff --git a/ecomp-portal-FE/client/app/directives/search-users/search-users.less b/ecomp-portal-FE/client/app/directives/search-users/search-users.less deleted file mode 100644 index 9c6de2b4..00000000 --- a/ecomp-portal-FE/client/app/directives/search-users/search-users.less +++ /dev/null @@ -1,154 +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. - * ================================================================================ - */ - .search-users-directive{ - .title { - .n18r; - border-bottom: @a 3px solid; - - } - - .add-user-section{ - margin-top:0px; - margin-left:10px; - } - - .input-text-new-user { - font-style: italic; - padding: 7px 10px; - width: 200px !important; - display: inline-block; - position: relative; - margin-bottom: 10px; - border-radius: 6px; - border: 1px solid #d8d8d8; - height: 32px; - border-color: slategrey !important; - } - - .input-new-user-div{ - - margin-left:10px; - } - - .add-user-button { - cursor: pointer; - float:right; - width: 120px; - - margin-left : 5px; - - .btn-blue; - - line-height: 32px; - height: 29px; - text-align: center; - vertical-align: middle; - line-height: 28px; - - &::before { - .ico_add_user; - content: '\f211'; - font-family: "Ionicons"; - vertical-align: middle; - display: inline-block; - margin-right: 8px; - line-height: 16px; - } - } - - .main { - margin: 16px; - .search-instructions { - .n14r; - margin-bottom: 8px; - } - .search { - .input-field { - display: inline-block; - width: 250px; - height: 30px; - } - .search-button { - .btn-blue; - width: 90px; - display: inline-block; - float: right; - } - } - - .search-results { - margin-top: 10px; - .results-title { - .n14r; - margin-bottom: 8px; - } - - .results-container { - height: 208px; - overflow-y: auto; - .user { - padding-left: 10px; - padding-top: 6px; - height: 48px; - - border-top: 1px solid @p; - border-right: 1px solid @p; - border-left: 1px solid @p; - - &:last-child { - border-bottom: 1px solid @p; - } - - cursor: pointer; - &:hover { - background-color: @v; - } - - &.selected { - background-color: @v; - } - - .main-name { - .n14r; - - } - .sub-job-title { - .p13r; - - } - } - - } - - } - .error-text { - margin-top: 25px; - font-weight: 400; - font-size: 16px; - text-align: left; - color: @err; - } - - .no-user-found { - margin-top: 16px; - .n14r; - } - } -}
\ No newline at end of file diff --git a/ecomp-portal-FE/client/app/directives/search-users/search-users.tpl.html b/ecomp-portal-FE/client/app/directives/search-users/search-users.tpl.html deleted file mode 100644 index 6c275693..00000000 --- a/ecomp-portal-FE/client/app/directives/search-users/search-users.tpl.html +++ /dev/null @@ -1,144 +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="search-users-directive"> - <form name="searchUsersForm" novalidate> - <div class="title" ng-bind="searchUsers.searchTitle"></div> - <div class="main"> - <div ng-if="searchUsers.showSearch"> - <div class="search-instructions">Enter first name, last name or User ID</div> - <div class="search"> - <input id="input-user-search" - class="input-field" - autocomplete="off" - type="text" - name="searchString" - placeholder="Search" - ng-model="searchUsers.searchUserString" - ng-keyup="$event.keyCode===13 && searchUsersForm.searchString.$valid && searchUsers.searchUsers()" - pattern="[a-zA-Z0-9-'\s]{1,}" - maxlength="80" - required="true" auto-focus tabindex="0"/> - - <div id="Create-New-User-button" class="add-user-button" ng-click="searchUsers.showAddUserSection()">New User</div> - <div id="button-search-users" - class="search-button" - tabindex="2" - ng-class="{disabled: searchUsersForm.searchString.$invalid || searchUsers.searchUsersInProgress}" - ng-click="searchUsersForm.searchString.$valid && searchUsers.searchUsers()"> - Search - </div> - - </div> - - <span class="ecomp-spinner" ng-show="searchUsers.isLoading"></span> - <div ng-show="UserSearchsIsNull===false"> - <div class="search-results" - ng-show="!searchUsers.isLoading - && searchUsers.searchUsersResults - && searchUsers.searchUsersResults.length"> - <div id="search-results" ng-show="UserSearchsIsNull===false" - class="results-title" - ng-bind="'Showing ' + searchUsers.searchUsersResults.length + ' results'"></div> - <div class="results-container" scroll-top="searchUsers.scrollApi"> - <div id="search-result-{{$index}}" - class="user" - ng-repeat="user in (searchUsers.searchUsersResults | orderBy:['firstName','lastName','orgUserId']) | limitTo: 100 track by $index" - ng-click="searchUsers.setSelectedUser(user)" - ng-class="{selected: user.orgUserId === searchUsers.selectedUser.orgUserId}"> - <div id="main-name-{{$index}}" class="main-name"> - <span id="result-first-name-{{$index}}" ng-bind="::user.firstName"></span> - <span id="result-last-name-{{$index}}" ng-bind="::user.lastName"></span> - <span id="result-uuid-{{$index}}" ng-bind="::user.orgUserId"></span></div> - <div id="job-title-{{$index}}" class="sub-job-title" ng-bind="::user.jobTitle"></div> - <br/> - </div> - </div> - </div> - </div> - - <div class="error-text" - id="user-search-error-403" - ng-show="UserSearchsIsNull===true"> - No match found. - </div> - - <div id="no-user-found" - class="no-user-found" - ng-show="searchUsers.searchUsersResults && searchUsers.searchUsersResults.length===0 && !searchUsers.searchUsersInProgress"> - No users found - </div> - </div> - - - <div id="addWidget" class="add-user-section" ng-if="searchUsers.showAddUser"> - <div> - <div class="input-new-user-div" > - <div class="">*First Name</div> - <input class="input-text-new-user" type="text" ng-model="searchUsers.newUser.firstName"/> - </div> - <div class="input-new-user-div" > - <div class="">Middle Name</div> - <input class="input-text-new-user" type="text" ng-model="searchUsers.newUser.middleName"/> - </div> - <div class="input-new-user-div" > - <div class="">*Last Name</div> - <input class="input-text-new-user" type="text" ng-model="searchUsers.newUser.lastName"/> - </div> - <div class="input-new-user-div" > - <div class="">*Email Address ID</div> - <input class="input-text-new-user" type="text" ng-model="searchUsers.newUser.emailAddress"/> - </div> - <div class="input-new-user-div" > - <div class="">*Login ID</div> - <input class="input-text-new-user" type="text" ng-model="searchUsers.newUser.loginId"/> - </div> - <div class="input-new-user-div" > - <div class="">*Login Password</div> - <input class="input-text-new-user" type="password" ng-model="searchUsers.newUser.loginPwd"/> - </div> - <div class="input-new-user-div" > - <div class="">*Confirm Login Password</div> - <input class="input-text-new-user" type="password" ng-model="searchUsers.newUser.loginPwdCheck"/> - </div> - <div ng-show="searchUsers.newUser.loginPwdCheck.length>=searchUsers.newUser.loginPwd.length&&searchUsers.newUser.loginPwdCheck.length>0&&searchUsers.newUser.loginPwd!=searchUsers.newUser.loginPwdCheck" - style="color: #cf2a2a; font-size: 12px;"> - <small - style="position: absolute; margin-top: -6px;">The passwords do not match. Try again. - </small> - </div> - <div ng-show="userExist==true" - style="color: #cf2a2a; font-size: 12px;"> - <small - style="position: absolute; margin-top: -6px;">User with same loginId already exists. Try again. - </small> - </div> - </div> - <div style="height:50px;"> - <a style="margin-right:10px;margin-top:20px;margin-bottom:5px" att-button btn-type="primary" class="button button--primary" size="small" ng-click="searchUsers.addNewUserFun()">Add New User</a> - </div> - </div> - - - </div> - - </div> - - </form> -</div> |