summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE-common/client/app/views/role/role-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-FE-common/client/app/views/role/role-controller.js')
-rw-r--r--ecomp-portal-FE-common/client/app/views/role/role-controller.js212
1 files changed, 118 insertions, 94 deletions
diff --git a/ecomp-portal-FE-common/client/app/views/role/role-controller.js b/ecomp-portal-FE-common/client/app/views/role/role-controller.js
index 2bd522a4..22b28e93 100644
--- a/ecomp-portal-FE-common/client/app/views/role/role-controller.js
+++ b/ecomp-portal-FE-common/client/app/views/role/role-controller.js
@@ -18,70 +18,80 @@
* ================================================================================
*/
-app.controller('roleController', function ($scope, $http, confirmBoxService, ngDialog, RoleService, conf, $stateParams){
+
+app.controller('roleController', function ($scope, $http, confirmBoxService, ngDialog, RoleService, conf, $stateParams,$modal,utilsService){
//$scope.role=${role};
$( "#dialogRoleFunction" ).hide();
$( "#dialogChildRole" ).hide();
-
- //$scope.ociavailableRoleFunctions=${availableRoleFunctions};
+ $scope.routeRoleId = $stateParams.roleId;
+
+ // $scope.ociavailableRoleFunctions=${availableRoleFunctions};
$scope.fetchRoles = function() {
-
- RoleService.getRole($stateParams.roleId).then(function(data){
-
- var j = data;
- $scope.data = JSON.parse(j.data);
-
- $scope.role =JSON.parse($scope.data.role);
-
- $scope.ociavailableRoleFunctions =JSON.parse($scope.data.availableRoleFunctions);
- $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.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.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);
- //reloadPageOnce();
- });
+ $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});
+ // $modalInstance.close({availableRoleFunctions:message.availableRoleFunctions});
}
}
if (exists) {
@@ -89,17 +99,30 @@ app.controller('roleController', function ($scope, $http, confirmBoxService, ngD
}
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)).then(function(res) {
- // console.log('roleController::saveRole: ' + JSON.stringify(res));
- if (res && res.data && res.data.role)
+ $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.");
- else
+ $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);
@@ -110,42 +133,42 @@ app.controller('roleController', function ($scope, $http, confirmBoxService, ngD
};
$scope.addNewRoleFunctionModalPopup = function() {
- var modalInstance = ngDialog.open({
- templateUrl: 'app/views/role/role_functions_popup.html',
- controller: 'rolepopupController',
-
- resolve: {
- roleId: function () {
- return $stateParams.roleId;
- },
- role: function () {
- return $scope.role;
+ var modalInstance = $modal.open({
+ templateUrl: 'app/views/role/role_functions_popup.html',
+ controller: 'rolepopupController',
+ sizeClass: 'modal-medium',
+ resolve: {
+ roleId: function () {
+ return $stateParams.roleId;
},
- availableRoles: function () {
- return $scope.ociavailableRoles;
- },
- availableRoleFunctions: function () {
- return $scope.ociavailableRoleFunctions;
- },
- }
- });
- modalInstance.closePromise.then(response => {
- if($stateParams.roleId === '0'){
- return $scope.role;
- }else{
- $scope.fetchRoles();
- }
- // $scope.role=response.role;
- });
+ 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 = ngDialog.open({
- templateUrl: 'app/views/role/role_childrole_popup.html',
- controller: 'rolepopupController',
-
- resolve: {
- roleId: 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 () {
@@ -156,16 +179,17 @@ app.controller('roleController', function ($scope, $http, confirmBoxService, ngD
},
availableRoleFunctions: function () {
return $scope.ociavailableRoleFunctions;
- },
- }
- }).closePromise.then(function(response){
- if($stateParams.roleId === '0'){
- return $scope.role;
- }else{
- $scope.fetchRoles();
- }
- //$scope.role=response.role;
+ }
+ }
});
+
+ modalInstance.result.finally(function () {
+ if($stateParams.roleId === '0'){
+ return $scope.role;
+ }else{
+ $scope.fetchRoles();
+ }
+ });
};
$scope.removeRoleFunction = function(roleFunction) {