summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE-common/client/app/views/role/role-function-list-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-FE-common/client/app/views/role/role-function-list-controller.js')
-rw-r--r--ecomp-portal-FE-common/client/app/views/role/role-function-list-controller.js337
1 files changed, 191 insertions, 146 deletions
diff --git a/ecomp-portal-FE-common/client/app/views/role/role-function-list-controller.js b/ecomp-portal-FE-common/client/app/views/role/role-function-list-controller.js
index 5e7c62cc..3821ed91 100644
--- a/ecomp-portal-FE-common/client/app/views/role/role-function-list-controller.js
+++ b/ecomp-portal-FE-common/client/app/views/role/role-function-list-controller.js
@@ -1,167 +1,212 @@
/*-
- * ================================================================================
- * 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.
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software except in compliance with the License.
* You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
+ * 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.
- * ================================================================================
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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.
+ *
+ * ============LICENSE_END============================================
+ *
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.
*/
-app.controller('roleFunctionListController', function ($scope,RoleService,$http,$state,conf,confirmBoxService, ngDialog,$modal){
- $( "#dialog" ).hide();
- $scope.isLoadingRoleFunctions = true;
- RoleService.getRoleFunctionList().then(function(data){
-
- var j = data;
- $scope.data = JSON.parse(j.data);
- $scope.availableRoleFunctions =JSON.parse($scope.data.availableRoleFunctions);
- //$scope.resetMenu();
-
- },function(error){
- console.log("failed");
- //reloadPageOnce();
- }) .finally(function(){
- $scope.isLoadingRoleFunctions = false;
- });
+"use strict";
+
+app.controller('roleFunctionListController', function ($scope, RoleService, applicationsService, $http, $state, conf, confirmBoxService, ngDialog, $modal) {
+ $("#dialog").hide();
+ $scope.centralizedApps = RoleService.getManageRoleDetails().apps;
+ $scope.apps = {
+ selectedCentralizedApp: RoleService.getManageRoleDetails().id
+ };
+
+ $scope.getRoleFunctions = function (id) {
+ $scope.isLoadingRoleFunctions = true;
+ RoleService.getRoleFunctionList(id).then(function (data) {
+ var j = data;
+ $scope.data = JSON.parse(j.data);
+ $scope.availableRoleFunctions = $scope.data.availableRoleFunctions;
+ }, function (error) {
+ confirmBoxService.showInformation("Failed to get role functions. Please try again!");
+ console.log("failed");
+ }).finally(function(){
+ $scope.isLoadingRoleFunctions = false;
+ });
+ };
+
+ function init() {
+ if($scope.apps.selectedCentralizedApp){
+ $scope.getRoleFunctions($scope.apps.selectedCentralizedApp);
+ }
+ if($scope.apps.selectedCentralizedApp == undefined){
+ $scope.getCentralizedApps(sessionStorage.userId);
+ }
+ }
+
+ //getCentalizedApps
+ $scope.getCentralizedApps = function(userId) {
+ RoleService.getCentralizedApps(userId).then(res=> {
+ if (res.length>0) {
+ $scope.centralizedApps = res;
+ for(var i = 0; i<res.length; i++){
+ if(res[i].appId == 1){
+ $scope.apps.selectedCentralizedApp = res[i].appId;
+ return;
+ }
+ $scope.apps.selectedCentralizedApp = res[0].appId;
+ }
+ }
+ }).catch(err=> {
+ $log.error('RoleListCtrl::centralizedApps retrieval error: ', err);
+ }).finally(() => {
+ // this.isLoadingTable = false;
+ });
+
+ }
+ init();
+
$scope.editRoleFunction = null;
var dialog = null;
- $scope.editRoleFunctionPopup = function(availableRoleFunction) {
- $scope.editRoleFunction = availableRoleFunction;
- $( "#dialog" ).dialog({
- modal: true
- });
- };
-
- $scope.editRoleFunctionModalPopup = function(availableRoleFunction) {
+
+ $scope.editRoleFunctionModalPopup = function (availableRoleFunction) {
$scope.editRoleFunction = availableRoleFunction;
- $scope.availableRoleFunctionsTemp=$scope.availableRoleFunctions;
- //$scope.availableRoleFunctions={};
-
- var modalInstance = $modal.open({
- templateUrl: 'app/views/role/popup_modal_rolefunction.html',
- controller: 'rolefunctionpopupController',
- sizeClass: 'modal-small',
- resolve: {
- message: function () {
- var message = {
- availableRoleFunction: $scope.editRoleFunction,
- availableRoleFunctions: $scope.availableRoleFunctionsTemp
- };
- return message;
- },
- isEditing: function () {
- return true;
- }
- }
- });
-
- modalInstance.result.then(function (response) {
- if(response.value!=null){
- if(response.value.result){
- $scope.availableRoleFunctions=response.value.availableRoleFunctions;
- }
- }
- else
- $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
-
- });
+ $scope.availableRoleFunctionsTemp = $scope.availableRoleFunctions;
+
+ var modalInstance = $modal.open({
+ templateUrl: 'app/views/role/popup_modal_rolefunction.html',
+ controller: 'rolefunctionpopupController',
+ sizeClass: 'modal-small',
+ resolve: {
+ message: function message() {
+ var message = {
+ availableRoleFunction: $scope.editRoleFunction,
+ availableRoleFunctions: $scope.availableRoleFunctionsTemp,
+ appId: $scope.apps.selectedCentralizedApp
+ };
+ return message;
+ },
+ isEditing: function isEditing() {
+ return true;
+ }
+ }
+ });
+
+ modalInstance.result.then(function (response) {
+ if (response) {
+ $scope.getRoleFunctions($scope.apps.selectedCentralizedApp);
+ }
+ else
+ $scope.availableRoleFunctions = $scope.availableRoleFunctionsTemp;
+ });
};
-
- $scope.addNewRoleFunctionModalPopup = function(availableRoleFunction) {
-
+
+ $scope.addNewRoleFunctionModalPopup = function (availableRoleFunction) {
+
$scope.editRoleFunction = null;
- $scope.availableRoleFunctionsTemp=$scope.availableRoleFunctions;
- //$scope.availableRoleFunctions={};
- var modalInstance = $modal.open({
- templateUrl: 'app/views/role/popup_modal_rolefunction.html',
- controller: 'rolefunctionpopupController',
- sizeClass: 'modal-small',
- resolve: {
- message: function () {
- var message = {
- availableRoleFunction: $scope.editRoleFunction,
- availableRoleFunctions: $scope.availableRoleFunctionsTemp
- };
- return message;
- },
- isEditing: function () {
- return false;
- }
- }
- });
-
- modalInstance.result.then(function (response) {
- if(response.value!=null){
- if(response.value.result){
- $scope.availableRoleFunctions=response.value.availableRoleFunctions;
- }
- }
- if(response.availableRoleFunctions != undefined)
- $scope.availableRoleFunctions=response.availableRoleFunctions;
- else
- $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
-
- });
+ $scope.availableRoleFunctionsTemp = $scope.availableRoleFunctions;
+ var modalInstance = $modal.open({
+ templateUrl: 'app/views/role/popup_modal_rolefunction.html',
+ controller: 'rolefunctionpopupController',
+ sizeClass: 'modal-small',
+ resolve: {
+ message: function message() {
+ var message = {
+ availableRoleFunction: $scope.editRoleFunction,
+ availableRoleFunctions: $scope.availableRoleFunctionsTemp,
+ appId: $scope.apps.selectedCentralizedApp
+ };
+ return message;
+ },
+ isEditing: function isEditing() {
+ return false;
+ }
+ }
+ });
+
+ modalInstance.result.then(function (response) {
+ if (response) {
+ $scope.getRoleFunctions($scope.apps.selectedCentralizedApp);
+ }
+ if (response.availableRoleFunctions != undefined)
+ $scope.availableRoleFunctions = response.availableRoleFunctions;else $scope.availableRoleFunctions = $scope.availableRoleFunctionsTemp;
+ });
};
-
- $scope.addNewRoleFunctionPopup = function() {
+
+ $scope.addNewRoleFunctionPopup = function () {
$scope.editRoleFunction = null;
- $( "#dialog" ).dialog({
- modal: true
- });
+ $("#dialog").dialog({
+ modal: true
+ });
};
-
- $scope.saveRoleFunction = function(availableRoleFunction) {
- var uuu = conf.api.saveRoleFuncion;
- var postData={availableRoleFunction: availableRoleFunction};
- $http.post(uuu,postData).then(function(response) {
- var data = response.data;
- $scope.availableRoleFunctions=data.availableRoleFunctions;
- $scope.editRoleFunction = null;
- },
- function() {
-
- confirmBoxService.showInformation("Error while saving");
- }
- );
- };
-
-
- $scope.removeRole = function(availableRoleFunction) {
- confirmBoxService.confirm("You are about to delete the role function "+availableRoleFunction.name+". Do you want to continue?").then(
- function(confirmed){
- if(confirmed){
- $scope.availableRoleFunctionsTemp=$scope.availableRoleFunctions;
- //$scope.availableRoleFunctions={};
- var uuu = conf.api.removeRoleFunction;
- var postData=availableRoleFunction;
- $http.post(uuu,postData).then(function(response) {
+
+ $scope.syncRoleFunctionsFromExternalAuthSystem = function(appId){
+ applicationsService.syncFunctionsFromExternalAuthSystem(appId).then(function(res){
+ if(res.status == 200){
+ confirmBoxService.showInformation('Sync operation completed successfully!').then(isConfirmed => {
+ $scope.getRoleFunctions(appId);
+ });
+ } else{
+ confirmBoxService.showInformation('Sync operation failed for '+app).then(isConfirmed => {});
+ }
+ });
+ };
+
+ $scope.saveRoleFunction = function (availableRoleFunction) {
+ var uuu = conf.api.saveRoleFuncion;
+ var postData = { availableRoleFunction: availableRoleFunction };
+ $http.post(uuu, postData).then(function (response) {
var data = response.data;
- if(data == undefined)
- confirmBoxService.showInformation("Error while deleting: "+ data);
- else
- $scope.availableRoleFunctionsTemp.splice($scope.availableRoleFunctionsTemp.indexOf(availableRoleFunction), 1);
- $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
- },
- function() {
- $scope.availableRoleFunctions=$scope.availableRoleFunctionsTemp;
- confirmBoxService.showInformation("Error while deleting: "+ data.responseText);
- }
- );
- }
- });
+ $scope.availableRoleFunctions = data.availableRoleFunctions;
+ $scope.editRoleFunction = null;
+ }, function () {
- };
+ confirmBoxService.showInformation("Error while saving");
+ });
+ };
+ $scope.removeRole = function (availableRoleFunction) {
+ confirmBoxService.confirm("You are about to delete the role function " + availableRoleFunction.name + ". Do you want to continue?").then(function (confirmed) {
+ if (confirmed) {
+ $scope.availableRoleFunctionsTemp = $scope.availableRoleFunctions;
+ var uuu = conf.api.removeRoleFunction.replace(':appId', $scope.apps.selectedCentralizedApp);
+ var postData = availableRoleFunction;
+ $http.post(uuu, postData).then(function (response) {
+ if(response.data.status == 'OK'){
+ confirmBoxService.showInformation(response.data.message);
+ $scope.availableRoleFunctionsTemp.splice($scope.availableRoleFunctionsTemp.indexOf(availableRoleFunction), 1);
+ $scope.availableRoleFunctions = $scope.availableRoleFunctionsTemp;
+ } else{
+ confirmBoxService.showInformation("Error while deleting: " + response.data.message);
+ }
+ }, function () {
+ $scope.availableRoleFunctions = $scope.availableRoleFunctionsTemp;
+ });
+ }
+ });
+ };
});