[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-FE-common / client / app / views / role / role-function-list-controller.js
1 /*-
2  * ================================================================================
3  * ECOMP Portal
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ================================================================================
19  */
20 app.controller('roleFunctionListController', function ($scope,RoleService,$http,$state,conf,confirmBoxService, ngDialog){
21         $( "#dialog" ).hide();
22         
23         RoleService.getRoleFunctionList().then(function(data){
24                 
25                 var j = data;
26                 $scope.data = JSON.parse(j.data);
27                 $scope.availableRoleFunctions =JSON.parse($scope.data.availableRoleFunctions);
28                 
29                 //$scope.resetMenu();
30         
31         },function(error){
32                 console.log("failed");
33                 //reloadPageOnce();
34         });
35         
36         $scope.editRoleFunction = null;
37         var dialog = null;
38         $scope.editRoleFunctionPopup = function(availableRoleFunction) {
39                 $scope.editRoleFunction = availableRoleFunction;
40                 $( "#dialog" ).dialog({
41                       modal: true
42             });
43         };
44         
45         $scope.editRoleFunctionModalPopup = function(availableRoleFunction) {
46                 $scope.editRoleFunction = availableRoleFunction;
47                 $scope.availableRoleFunctionsTemp=$scope.availableRoleFunctions;
48                 //$scope.availableRoleFunctions={};
49                 var modalInstance = ngDialog.open({
50                     templateUrl: 'app/views/role/popup_modal_rolefunction.html',
51                     controller: 'rolefunctionpopupController',
52                     resolve: {
53                         message: function () {
54                                 var message = {
55                                                 availableRoleFunction:  $scope.editRoleFunction,
56                                                 availableRoleFunctions: $scope.availableRoleFunctionsTemp
57                                 };
58                           return message;
59                         },
60                         isEditing: function () {
61                                 return true;
62                         }
63                       }
64                   }); 
65                 modalInstance.closePromise.then(response =>{
66                         if(response.value!=null){
67                 if(response.value.result){
68                         $scope.availableRoleFunctions=response.value.availableRoleFunctions;    
69                 }
70             }                   
71             /*else
72                 $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
73             */
74         });
75         };
76         
77         $scope.addNewRoleFunctionModalPopup = function(availableRoleFunction) {
78                 
79                 $scope.editRoleFunction = null;
80                 $scope.availableRoleFunctionsTemp=$scope.availableRoleFunctions;
81                 //$scope.availableRoleFunctions={};
82                 var modalInstance = ngDialog.open({
83                     templateUrl: 'app/views/role/popup_modal_rolefunction.html',
84                     controller: 'rolefunctionpopupController',
85                     resolve: {
86                         message: function () {
87                                 var message = {
88                                                 availableRoleFunction: $scope.editRoleFunction,
89                                                 availableRoleFunctions: $scope.availableRoleFunctionsTemp
90                                 };
91                           return message;
92                         },
93                         isEditing: function () {
94                                 return false;
95                         }
96                       }
97                   });
98                 modalInstance.closePromise.then(response => {
99             if(response.value!=null){
100                 if(response.value.result){
101                         $scope.availableRoleFunctions=response.value.availableRoleFunctions;    
102                 }
103             }
104            /* if(response.availableRoleFunctions != undefined)
105                 $scope.availableRoleFunctions=response.availableRoleFunctions;
106             else
107                 $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
108                 */
109         });
110         };
111         
112         $scope.addNewRoleFunctionPopup = function() {
113                 $scope.editRoleFunction = null;
114                 $( "#dialog" ).dialog({
115                       modal: true
116             });
117         };
118         
119         $scope.saveRoleFunction = function(availableRoleFunction) {
120                   var uuu = conf.api.saveRoleFuncion;
121                   var postData={availableRoleFunction: availableRoleFunction};
122                   $http.post(uuu,postData).then(function(response) {
123                           var data = response.data;
124                         $scope.availableRoleFunctions=data.availableRoleFunctions; 
125                         $scope.editRoleFunction = null;
126                   },              
127                 function() {
128                         
129                         confirmBoxService.showInformation("Error while saving");
130                   }
131                   );
132                 };
133         
134                 
135                 $scope.removeRole = function(availableRoleFunction) {
136                         confirmBoxService.confirm("You are about to delete the role function "+availableRoleFunction.name+". Do you want to continue?").then(
137                                 function(confirmed){
138                                         if(confirmed){
139                                                         $scope.availableRoleFunctionsTemp=$scope.availableRoleFunctions;
140                                                         //$scope.availableRoleFunctions={};
141                                                   var uuu = conf.api.removeRoleFunction;
142                                                   var postData={availableRoleFunction: availableRoleFunction};
143                                                   $http.post(uuu,postData).then(function(response) {
144                                                           var data = response.data;
145                                                           if(data.availableRoleFunctions == undefined)
146                                                                 confirmBoxService.showInformation("Error while deleting: "+ data);
147                                                           else 
148                                                                   $scope.availableRoleFunctions=data.availableRoleFunctions; 
149                                                   },
150                                                 function() {
151                                                         $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
152                                                         confirmBoxService.showInformation("Error while deleting: "+ data.responseText);
153                                                   }
154                                                   );
155                                         }                       
156                                 });
157                         
158                 };
159
160 });