Initial OpenECOMP policy/engine commit
[policy/engine.git] / ecomp-sdk-app / src / main / webapp / app / fusion / scripts / controllers / role-function-list-controller.js
1 /*-
2  * ================================================================================
3  * eCOMP Portal SDK
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, AdminService, modalService, $modal){
21         $( "#dialog" ).hide();
22         
23     AdminService.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 = $modal.open({
50                     templateUrl: 'edit_role_function_popup.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                       }
61                   }); 
62                 modalInstance.result.then(function(response){
63             console.log('response', response);
64             if(response!=null)
65                 $scope.availableRoleFunctions=response.availableRoleFunctions;
66             else
67                 $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
68         });
69         };
70         
71         $scope.addNewRoleFunctionModalPopup = function(availableRoleFunction) {
72                 $scope.editRoleFunction = null;
73                 $scope.availableRoleFunctionsTemp=$scope.availableRoleFunctions;
74                 $scope.availableRoleFunctions={};
75                 var modalInstance = $modal.open({
76                     templateUrl: 'edit_role_function_popup.html',
77                     controller: 'rolefunctionpopupController',
78                     resolve: {
79                         message: function () {
80                                 var message = {
81                                                 availableRoleFunction: $scope.editRoleFunction,
82                                                 availableRoleFunctions: $scope.availableRoleFunctionsTemp
83                                 };
84                           return message;
85                         }                                       
86                       }
87                   }); 
88                 modalInstance.result.then(function(response){
89             console.log('response', response);
90             if(response!=null)
91                 $scope.availableRoleFunctions=response.availableRoleFunctions;
92             else
93                 $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
94         });
95         };
96         
97         $scope.addNewRoleFunctionPopup = function() {
98                 $scope.editRoleFunction = null;
99                 $( "#dialog" ).dialog({
100                       modal: true
101             });
102         };
103         
104         $scope.saveRoleFunction = function(availableRoleFunction) {
105                   var uuu = "role_function_list/saveRoleFunction.htm";
106                   var postData={availableRoleFunction: availableRoleFunction};
107                   $.ajax({
108                          type : 'POST',
109                          url : uuu,
110                          dataType: 'json',
111                          contentType: 'application/json',
112                          data: JSON.stringify(postData),
113                          success : function(data){
114                                 $scope.$apply(function(){
115                                         $scope.availableRoleFunctions=[];$scope.$apply();
116                                         $scope.availableRoleFunctions=data.availableRoleFunctions;});  
117                                 //alert("Update Successful.") ;
118                                 console.log($scope.availableRoleFunctions);
119                                 
120                                 $scope.editRoleFunction = null;
121                                 $( "#dialog" ).dialog("close");
122                          },
123                          error : function(data){
124                                  modalService.showFailure("Fail","Error while saving.");
125                          }
126                   });
127                 };
128         
129                 
130                 $scope.removeRole = function(availableRoleFunction) {
131                         modalService.popupConfirmWin("Confirm","You are about to delete the role function "+availableRoleFunction.name+". Do you want to continue?",
132                                 function(){
133                                                         $scope.availableRoleFunctionsTemp=$scope.availableRoleFunctions;
134                                                         $scope.availableRoleFunctions={};
135                                                   var uuu = "role_function_list/removeRoleFunction.htm";
136                                                   var postData={availableRoleFunction: availableRoleFunction};
137                                                   $.ajax({
138                                                          type : 'POST',
139                                                          url : uuu,
140                                                          dataType: 'json',
141                                                          contentType: 'application/json',
142                                                          data: JSON.stringify(postData),
143                                                          success : function(data){
144                                                                 $scope.$apply(function(){$scope.availableRoleFunctions=data.availableRoleFunctions;});  
145                                                          },
146                                                          error : function(data){
147                                                                  console.log(data);
148                                                                  $scope.$apply(function(){$scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;});
149                                                                  modalService.showFailure("Fail","Error while deleting: "+ data.responseText);
150                                                          }
151                                                   });
152                                                 
153                 })
154                         
155                 };
156
157 });