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