-/*-\r
- * ================================================================================\r
- * ECOMP Portal\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ================================================================================\r
- */\r
-\r
-app.controller('roleController', function ($scope, $http, confirmBoxService, ngDialog, RoleService, conf, $stateParams){\r
- //$scope.role=${role};\r
- \r
- $( "#dialogRoleFunction" ).hide();\r
- $( "#dialogChildRole" ).hide();\r
- \r
- //$scope.ociavailableRoleFunctions=${availableRoleFunctions};\r
- $scope.fetchRoles = function() {\r
- \r
- RoleService.getRole($stateParams.roleId).then(function(data){\r
- \r
- var j = data;\r
- $scope.data = JSON.parse(j.data);\r
- \r
- $scope.role =JSON.parse($scope.data.role);\r
- \r
- $scope.ociavailableRoleFunctions =JSON.parse($scope.data.availableRoleFunctions);\r
- $scope.availableRoleFunctions=[];\r
- \r
- if($scope.ociavailableRoleFunctions)\r
- $.each($scope.ociavailableRoleFunctions, function(i, a){ \r
- var availableRoleFunction = a;\r
- availableRoleFunction.selected = false;\r
- $.each($scope.role.roleFunctions, function(j, b){ \r
- if(a.code === b.code) {\r
- availableRoleFunction.selected = true;\r
- }\r
- });\r
- $scope.availableRoleFunctions.push(availableRoleFunction); \r
- }); \r
- \r
-\r
- $scope.ociavailableRoles=JSON.parse($scope.data.availableRoles);\r
- $scope.availableRoles=[];\r
- \r
- if($scope.ociavailableRoles)\r
- $.each($scope.ociavailableRoles, function(i, a){ \r
- var availableRole = a;\r
- availableRole.selected = false;\r
- if($scope.role.childRoles){\r
- $.each($scope.role.childRoles, function(j, b){ \r
- if(a.id === b.id) {\r
- availableRole.selected = true;\r
- }\r
- });\r
- };\r
- $scope.availableRoles.push(availableRole); \r
- });\r
- \r
- \r
- },function(error){\r
- console.log("RoleService.getRole failed", error);\r
- //reloadPageOnce();\r
- });\r
- }\r
- \r
- $scope.fetchRoles();\r
-\r
- $scope.saveRole = function() {\r
- var exists = false,x; \r
- for(x in $scope.availableRoles){\r
- if($scope.availableRoles[x].name==$scope.role.name){\r
- exists = true;\r
- //$modalInstance.close({availableRoleFunctions:message.availableRoleFunctions});\r
- }\r
- }\r
- if (exists) {\r
- confirmBoxService.showInformation( "Role already exists.");\r
- }\r
- else {\r
- var uuu = conf.api.saveRole + "?role_id="+$stateParams.roleId;\r
- var postData = {\r
- role: $scope.role, \r
- childRoles: $scope.role.childRoles,\r
- roleFunctions : $scope.role.roleFunctions\r
- };\r
- $http.post(uuu, JSON.stringify(postData)).then(function(res) {\r
- // console.log('roleController::saveRole: ' + JSON.stringify(res));\r
- if (res && res.data && res.data.role)\r
- confirmBoxService.showInformation("Update Successful.");\r
- else\r
- confirmBoxService.showInformation('Failed to create role: ' + res.data.error)\r
- },\r
- function(res){\r
- console.log('post failed', res.data);\r
- confirmBoxService.showInformation("Error while saving.");\r
- }\r
- );\r
- }\r
- };\r
- \r
- $scope.addNewRoleFunctionModalPopup = function() {\r
- var modalInstance = ngDialog.open({\r
- templateUrl: 'app/views/role/role_functions_popup.html',\r
- controller: 'rolepopupController',\r
- \r
- resolve: {\r
- roleId: function () {\r
- return $stateParams.roleId;\r
- },\r
- role: function () {\r
- return $scope.role;\r
- },\r
- availableRoles: function () {\r
- return $scope.ociavailableRoles;\r
- },\r
- availableRoleFunctions: function () {\r
- return $scope.ociavailableRoleFunctions;\r
- },\r
- }\r
- });\r
- modalInstance.closePromise.then(response => {\r
- if($stateParams.roleId === '0'){\r
- return $scope.role;\r
- }else{\r
- $scope.fetchRoles();\r
- }\r
- // $scope.role=response.role;\r
- });\r
- };\r
- \r
- $scope.addNewChildRoleModalPopup = function() {\r
- var modalInstance = ngDialog.open({\r
- templateUrl: 'app/views/role/role_childrole_popup.html',\r
- controller: 'rolepopupController',\r
- \r
- resolve: {\r
- roleId: function () {\r
- return $stateParams.roleId;\r
- },\r
- role: function () {\r
- return $scope.role;\r
- },\r
- availableRoles: function () {\r
- return $scope.ociavailableRoles;\r
- },\r
- availableRoleFunctions: function () {\r
- return $scope.ociavailableRoleFunctions;\r
- },\r
- }\r
- }).closePromise.then(function(response){\r
- if($stateParams.roleId === '0'){\r
- return $scope.role;\r
- }else{\r
- $scope.fetchRoles();\r
- }\r
- //$scope.role=response.role;\r
- });\r
- };\r
- \r
- $scope.removeRoleFunction = function(roleFunction) {\r
- confirmBoxService.confirm("You are about to remove the role function "+roleFunction.name+" from the role for "+$scope.role.name+". Do you want to continue?").then(\r
- function(confirmed){\r
- var uuu = conf.api.toggleRoleRoleFunction + "?role_id=" + $stateParams.roleId;\r
- var postData={roleFunction:roleFunction};\r
- if(confirmed) { \r
- $http.post(uuu, postData).then(\r
- function(response) {\r
- $scope.role= response.data.role;\r
- $.each($scope.availableRoleFunctions, function(k, c){ \r
- if(c.code === roleFunction.code) {\r
- c.selected = false;\r
- }\r
- });\r
- }, \r
- function(response) {\r
- confirmBoxService.showInformation("Error while saving.");\r
- }\r
- ); \r
- }\r
- \r
- });\r
- \r
- };\r
- \r
- $scope.removeChildRole = function(childRole) {\r
- confirmBoxService.confirm("You are about to remove the child role "+childRole.name+" from the role for "+$scope.role.name+". Do you want to continue?").then(\r
- function(confirmed){\r
- var uuu = conf.api.toggleRoleChildRole + "?role_id=" + $stateParams.roleId;\r
- var postData={childRole:childRole};\r
- if(confirmed) {\r
- $http.post(uuu,postData).then( function(response) {\r
- $scope.role=response.data.role;\r
- $.each($scope.availableRoles, function(k, c){ \r
- if(c.id === childRole.id) {\r
- c.selected = false;\r
- }\r
- });\r
- },\r
- \r
- function(data) {\r
- confirmBoxService.showInformation("Error while saving.");\r
- });\r
- } \r
- });\r
- \r
- };\r
- \r
-});\r
+/*-
+ * ================================================================================
+ * ECOMP Portal
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ================================================================================
+ */
+
+
+app.controller('roleController', function ($scope, $http, confirmBoxService, ngDialog, RoleService, conf, $stateParams,$modal,utilsService){
+ //$scope.role=${role};
+
+ $( "#dialogRoleFunction" ).hide();
+ $( "#dialogChildRole" ).hide();
+ $scope.routeRoleId = $stateParams.roleId;
+
+ // $scope.ociavailableRoleFunctions=${availableRoleFunctions};
+ $scope.fetchRoles = function() {
+ $scope.isLoadingRoleFunctions = true;
+ utilsService.showLoadingLayer(); // show the loading layer
+ RoleService.getRole($stateParams.roleId).then(function(data){
+ if(data==null || data ==''){
+ var msg={
+ content:'Something is wrong. Please contact the administrator for more information'
+ };
+ confirmBoxService.reloadPageConfirm(msg);
+ }else{
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.role =JSON.parse($scope.data.role);
+ $scope.routeRoleId = $stateParams.roleId;
+ $scope.ociavailableRoleFunctions =JSON.parse($scope.data.availableRoleFunctions);
+ $scope.isGlobalRoleChecked=($scope.role.name.indexOf('global_')==-1)?false:true;
+
+ $scope.availableRoleFunctions=[];
+
+ if($scope.ociavailableRoleFunctions)
+ $.each($scope.ociavailableRoleFunctions, function(i, a){
+ var availableRoleFunction = a;
+ availableRoleFunction.selected = false;
+ $.each($scope.role.roleFunctions, function(j, b){
+ if(a.code === b.code) {
+ availableRoleFunction.selected = true;
+ }
+ });
+ $scope.availableRoleFunctions.push(availableRoleFunction);
+ });
+ $scope.ociavailableRoles=JSON.parse($scope.data.availableRoles);
+ $scope.availableRoles=[];
+
+ if($scope.ociavailableRoles)
+ $.each($scope.ociavailableRoles, function(i, a){
+ var availableRole = a;
+ availableRole.selected = false;
+ if($scope.role.childRoles){
+ $.each($scope.role.childRoles, function(j, b){
+ if(a.id === b.id) {
+ availableRole.selected = true;
+ }
+ });
+ };
+ $scope.availableRoles.push(availableRole);
+ });
+ }
+ },function(error){
+ console.log("RoleService.getRole failed", error);
+ }).finally(function(){
+ utilsService.hideLoadingLayer();
+ $scope.isLoadingRoleFunctions = false;
+ });
+ }
+
+ $scope.fetchRoles();
+
+ $scope.isGlobalRoleChecked;
+
+ $scope.saveRole = function() {
+ var exists = false,x;
+ for(x in $scope.availableRoles){
+ if($scope.availableRoles[x].name==$scope.role.name){
+ exists = true;
+ // $modalInstance.close({availableRoleFunctions:message.availableRoleFunctions});
+ }
+ }
+ if (exists) {
+ confirmBoxService.showInformation( "Role already exists.");
+ }
+ else {
+ var uuu = conf.api.saveRole + "?role_id="+$stateParams.roleId;
+ if($scope.isGlobalRoleChecked ){
+ $scope.role.name = ($scope.role.name.indexOf('global_')==-1)?('global_'+$scope.role.name):($scope.role.name);
+
+ }else{
+ $scope.role.name=$scope.role.name.replace('global_','');
+ }
+ var postData = {
+ role: $scope.role,
+ childRoles: $scope.role.childRoles,
+ roleFunctions : $scope.role.roleFunctions
+ };
+ $http.post(uuu, JSON.stringify(postData,$stateParams.roleId)).then(function(res) {
+ // console.log('roleController::saveRole: ' +
+ // JSON.stringify(res));
+ if (res && res.data && res.data.role){
+ confirmBoxService.showInformation("Update Successful.");
+ $scope.routeRoleId = res.role;
+ $scope.isSaveClicked=true;
+ $scope.role='';
+ }
+
+ else{
+ confirmBoxService.showInformation('Failed to create role: ' + res.data.error)
+ }
+ },
+ function(res){
+ console.log('post failed', res.data);
+ confirmBoxService.showInformation("Error while saving.");
+ }
+ );
+ }
+ };
+
+ $scope.addNewRoleFunctionModalPopup = function() {
+ var modalInstance = $modal.open({
+ templateUrl: 'app/views/role/role_functions_popup.html',
+ controller: 'rolepopupController',
+ sizeClass: 'modal-medium',
+ resolve: {
+ roleId: function () {
+ return $stateParams.roleId;
+ },
+ role: function () {
+ return $scope.role;
+ },
+ availableRoles: function () {
+ return $scope.ociavailableRoles;
+ },
+ availableRoleFunctions: function () {
+ return $scope.ociavailableRoleFunctions;
+ }
+ }
+ });
+
+ modalInstance.result.finally(function () {
+ if($stateParams.roleId === '0'){
+ return $scope.role;
+ }else{
+ $scope.fetchRoles();
+ }
+ });
+ };
+
+ $scope.addNewChildRoleModalPopup = function() {
+ var modalInstance = $modal.open({
+ templateUrl: 'app/views/role/role_childrole_popup.html',
+ controller: 'rolepopupController',
+ sizeClass: 'modal-medium',
+ resolve: {
+ roleId: function () {
+ return $stateParams.roleId;
+ },
+ role: function () {
+ return $scope.role;
+ },
+ availableRoles: function () {
+ return $scope.ociavailableRoles;
+ },
+ availableRoleFunctions: function () {
+ return $scope.ociavailableRoleFunctions;
+ }
+ }
+ });
+
+ modalInstance.result.finally(function () {
+ if($stateParams.roleId === '0'){
+ return $scope.role;
+ }else{
+ $scope.fetchRoles();
+ }
+ });
+ };
+
+ $scope.removeRoleFunction = function(roleFunction) {
+ confirmBoxService.confirm("You are about to remove the role function "+roleFunction.name+" from the role for "+$scope.role.name+". Do you want to continue?").then(
+ function(confirmed){
+ var uuu = conf.api.toggleRoleRoleFunction + "?role_id=" + $stateParams.roleId;
+ var postData={roleFunction:roleFunction};
+ if(confirmed) {
+ $http.post(uuu, postData).then(
+ function(response) {
+ $scope.role= response.data.role;
+ $.each($scope.availableRoleFunctions, function(k, c){
+ if(c.code === roleFunction.code) {
+ c.selected = false;
+ }
+ });
+ },
+ function(response) {
+ confirmBoxService.showInformation("Error while saving.");
+ }
+ );
+ }
+
+ });
+
+ };
+
+ $scope.removeChildRole = function(childRole) {
+ confirmBoxService.confirm("You are about to remove the child role "+childRole.name+" from the role for "+$scope.role.name+". Do you want to continue?").then(
+ function(confirmed){
+ var uuu = conf.api.toggleRoleChildRole + "?role_id=" + $stateParams.roleId;
+ var postData={childRole:childRole};
+ if(confirmed) {
+ $http.post(uuu,postData).then( function(response) {
+ $scope.role=response.data.role;
+ $.each($scope.availableRoles, function(k, c){
+ if(c.id === childRole.id) {
+ c.selected = false;
+ }
+ });
+ },
+
+ function(data) {
+ confirmBoxService.showInformation("Error while saving.");
+ });
+ }
+ });
+
+ };
+
+});