Security/ Package Name changes
[portal.git] / ecomp-portal-FE-common / client / app / views / portal-admin / portal-admin-controller.js
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
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
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
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.
20  *
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
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
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.
33  *
34  * ============LICENSE_END============================================
35  *
36  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
37  */
38 'use strict';
39 (function () {
40     class PortalAdminsCtrl {
41         constructor($log, portalAdminsService, ngDialog, confirmBoxService, $modal) {
42
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 = [];
50                         return;
51                     }
52                     this.portalAdminsTableData = result;
53                 }).catch(err=> {
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 => {});
57
58                 }).finally(() => {
59                     this.isLoadingTable = false;
60                 });
61             };
62
63             let init = () => {
64                 $log.info('portalAdminsService.getPortalAdmins::initializing...');
65                 this.isLoadingTable = false;
66
67                 /*Table general configuration params*/
68                 this.searchString= '';
69                 /*Table data*/
70                 this.portalAdminsTableHeaders = ['First Name', 'Last Name', 'User ID', 'Delete'];
71                 this.portalAdminsTableData = [];
72                 updateTableData();
73             };
74
75             init();
76
77             this.removePortalAdmin = pAdmin => {
78                 $log.debug('PortalAdminsCtrl::removePortalAdmin: pAdmin = ' + JSON.stringify(pAdmin));
79                 confirmBoxService.deleteItem(pAdmin.firstName + ' ' + pAdmin.lastName )
80                     .then(isConfirmed => {
81                     if(isConfirmed){
82                         if(!pAdmin || !pAdmin.userId){
83                             $log.error('PortalAdminsCtrl::removePortalAdmin No portal admin or ID... cannot delete');
84                             return;
85                         }
86                         portalAdminsService.removePortalAdmin(pAdmin.userId,pAdmin.loginId).then(() => {
87                             $log.info("PortalAdminsCtrl::removePortalAdmin removed admin");
88                             init();
89                         }).catch(err => {
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 => {});
93                         });
94                     }
95                 }).catch(err => {
96                     $log.error('PortalAdminsCtrl::removePortalAdmin.deleteItem error: '+ err);
97                 });
98             };
99             
100             this.openAddNewPortalAdminModal = (user) => {
101                 let data = null;
102                 if(user){
103                     data = {
104                         dialogState: 2,
105                         selectedUser:{
106                             orgUserId: user.orgUserId,
107                             firstName: user.firstName,
108                             lastName: user.lastName
109                         }
110                     }
111                 }
112                 
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',
117                     data: data
118                 })
119                 
120                 modalInstance.result.finally(function () {
121                         $log.debug('PortalAdminsCtrl::openAddNewPortalAdminModal: updating Portal Admin table data...');         
122                     updateTableData();
123                 });
124                 
125             };
126         }
127     }
128     PortalAdminsCtrl.$inject = ['$log', 'portalAdminsService', 'ngDialog', 'confirmBoxService', '$modal'];
129     angular.module('ecompApp').controller('PortalAdminsCtrl', PortalAdminsCtrl);
130 })();