2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
36 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
40 class PortalAdminsCtrl {
41 constructor($log, portalAdminsService, ngDialog, confirmBoxService, $modal) {
43 let updateTableData = () => {
44 this.isLoadingTable = true;
45 portalAdminsService.getPortalAdmins().then(result=> {
46 $log.debug('PortalAdminsCtrl::updateTableData: result: ' + JSON.stringify(result));
47 if (!result || !result.length) {
48 $log.info('PortalAdminsCtrl::updateTableData: no Portal Admins err handling');
49 this.portalAdminsTableData = [];
52 this.portalAdminsTableData = result;
54 $log.error('PortalAdminsCtrl::updateTableData error :',err);
55 confirmBoxService.showInformation('There was a problem retrieving the portal admins. ' +
56 'Please try again later. Error: ' + err.status).then(isConfirmed => {});
59 this.isLoadingTable = false;
64 $log.info('portalAdminsService.getPortalAdmins::initializing...');
65 this.isLoadingTable = false;
67 /*Table general configuration params*/
68 this.searchString= '';
70 this.portalAdminsTableHeaders = ['First Name', 'Last Name', 'User ID', 'Delete'];
71 this.portalAdminsTableData = [];
77 this.removePortalAdmin = pAdmin => {
78 $log.debug('PortalAdminsCtrl::removePortalAdmin: pAdmin = ' + JSON.stringify(pAdmin));
79 confirmBoxService.deleteItem(pAdmin.firstName + ' ' + pAdmin.lastName )
80 .then(isConfirmed => {
82 if(!pAdmin || !pAdmin.userId){
83 $log.error('PortalAdminsCtrl::removePortalAdmin No portal admin or ID... cannot delete');
86 portalAdminsService.removePortalAdmin(pAdmin.userId,pAdmin.loginId).then(() => {
87 $log.info("PortalAdminsCtrl::removePortalAdmin removed admin");
90 $log.error('PortalAdminsCtrl::removePortalAdmin.deleteItem error: '+ err);
91 confirmBoxService.showInformation('There was a problem deleting this portal admins. ' +
92 'Please try again later. Error: ' + err.status).then(isConfirmed => {});
96 $log.error('PortalAdminsCtrl::removePortalAdmin.deleteItem error: '+ err);
100 this.openAddNewPortalAdminModal = (user) => {
106 orgUserId: user.orgUserId,
107 firstName: user.firstName,
108 lastName: user.lastName
113 var modalInstance = $modal.open({
114 templateUrl: 'app/views/portal-admin/new-portal-admin/new-portal-admin.modal.html',
115 controller: 'NewPortalAdminModalCtrl as newPortalAdmin',
116 sizeClass: 'modal-medium',
120 modalInstance.result.finally(function () {
121 $log.debug('PortalAdminsCtrl::openAddNewPortalAdminModal: updating Portal Admin table data...');
128 PortalAdminsCtrl.$inject = ['$log', 'portalAdminsService', 'ngDialog', 'confirmBoxService', '$modal'];
129 angular.module('ecompApp').controller('PortalAdminsCtrl', PortalAdminsCtrl);