From 91d04c64771832a0b8815ffbe1f0f9920320d94d Mon Sep 17 00:00:00 2001 From: Pamela Dragosh Date: Tue, 14 Feb 2017 19:41:00 -0500 Subject: Initial OpenECOMP policy/engine commit Change-Id: I7dbff37733b661643dd4d1caefa3d7dccc361b6e Signed-off-by: Pamela Dragosh --- .../app/policyApp/controller/AutoPushController.js | 201 +++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 ecomp-sdk-app/src/main/webapp/app/policyApp/controller/AutoPushController.js (limited to 'ecomp-sdk-app/src/main/webapp/app/policyApp/controller/AutoPushController.js') diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/AutoPushController.js b/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/AutoPushController.js new file mode 100644 index 000000000..c6a6e3587 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/AutoPushController.js @@ -0,0 +1,201 @@ +/*- + * ============LICENSE_START======================================================= + * ECOMP Policy Engine + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============LICENSE_END========================================================= + */ + +app.controller('policyPushController', function ($scope, PDPService, AdminTabService, AutoPushService, modalService, $modal, Notification,$filter){ + $( "#dialog" ).hide(); + + $scope.isDisabled = true; + $scope.loading = true; + + AdminTabService.getData().then(function(data){ + var j = data; + $scope.data = JSON.parse(j.data); + $scope.lockdowndata = JSON.parse($scope.data.lockdowndata); + if($scope.lockdowndata[0].lockdown == true){ + $scope.isDisabled = true; + }else{ + $scope.isDisabled = false; + } + console.log($scope.data); + },function(error){ + console.log("failed"); + }); + + $scope.pdpdata; + PDPService.getPDPData().then(function (data) { + var j = data; + $scope.pdpdata = JSON.parse(j.data); + console.log($scope.pdpdata); + $scope.pushTabPDPGrid.data = $scope.pdpdata; + }, function (error) { + console.log("failed"); + }); + + $scope.getPDPData = function(){ + $scope.pushTabPDPGrid.data = $scope.pdpdata; + }; + $scope.filterPdpGroup; + $scope.filterPDPGroupData = function() { + $scope.pushTabPDPGrid.data = $filter('filter')($scope.pdpdata, $scope.filterPdpGroup, undefined); + }; + + $scope.pushTabPDPGrid = { + onRegisterApi: function(gridApi) { + $scope.gridApi = gridApi; + }, + enableFiltering: true, + columnDefs: [ + { field: 'default',displayName : '', enableFiltering : false, enableSorting : false, + cellTemplate: ' ', + width: '8%' + }, + { field: 'id', displayName : 'ID'}, + { field: 'name', displayName : 'Name' }, + { field: 'description' } + ] + }; + + + $scope.editPDPGroupWindow = function (selectedPdpGroupData) { + $scope.removePDPGroupPolicies = selectedPdpGroupData; + if($scope.isDisabled){ + Notification.error("Policy Application has been LockDown."); + }else{ + var modalInstance = $modal.open({ + backdrop: 'static', keyboard: false, + templateUrl: 'remove_PDPGroupPolicies_popup.html', + controller: 'removeGroupPoliciesController', + resolve: { + message: function () { + var message = { + selectedPdpGroupData: $scope.removePDPGroupPolicies + }; + return message; + } + } + }); + modalInstance.result.then(function (response) { + console.log('response', response); + $scope.pdpdata = JSON.parse(response.data); + $scope.pushTabPDPGrid.data = $scope.pdpdata; + }); + } + }; + + $scope.gridOptions = { + onRegisterApi: function(gridApi) { + $scope.gridPolicyApi = gridApi; + }, + enableSorting: true, + enableFiltering: true, + showTreeExpandNoChildren: true, + paginationPageSizes: [10, 20, 50, 100], + paginationPageSize: 20, + columnDefs: [{name: 'name'}, {name: 'version'}, {name: 'dateModified'}] + }; + + $scope.files; + var data = []; + $scope.filterPolicy; + $scope.filterPolicyData = function() { + $scope.gridOptions.data = $filter('filter')($scope.files, $scope.filterPolicy, undefined); + }; + + AutoPushService.getAutoPushPoliciesData().then(function (data1) { + $scope.loading = false; + $scope.files = data1.data; + var data = data1.data; + + var id=0; + var writeoutNode = function(childArray, currentLevel, dataArray){ + childArray.forEach( function(childNode){ + if (childNode.files.length > 0){ + childNode.$$treeLevel = currentLevel; + id=childNode.categoryId; + if(childNode.categoryId == childNode.parentCategoryId){ + childNode.parent=''; + } + }else{ + if((id!=childNode.parentCategoryId) || (childNode.categoryId == childNode.parentCategoryId)){ + if(childNode.categoryId == childNode.parentCategoryId){ + childNode.parent=''; + } + childNode.$$treeLevel = currentLevel; + } + } + dataArray.push( childNode ); + writeoutNode( childNode.files, currentLevel + 1, dataArray ); + }); + }; + + $scope.gridOptions.data = []; + writeoutNode(data, 0, $scope.gridOptions.data); + }, function (error) { + console.log("failed"); + }); + + + + $scope.pushPoliciesButton = function(){ + var policySelection = $scope.gridPolicyApi.selection.getSelectedRows(); + console.log(policySelection); + var currentSelection = $scope.gridApi.selection.getSelectedRows(); + if(policySelection.length == 0 && currentSelection.length == 0){ + Notification.error("Please Select Policy and PDP Group to Push"); + } + if(policySelection.length == 0 && currentSelection.length != 0){ + Notification.error("Please Select Policy to Push"); + } + if(policySelection.length != 0 && currentSelection.length == 0){ + Notification.error("Please Select PDP Group to Push"); + } + if(policySelection.length != 0 && currentSelection.length != 0){ + var finalData = { + "pdpDatas": currentSelection, + "policyDatas": policySelection + }; + console.log(finalData); + var uuu = "auto_Push/PushPolicyToPDP.htm"; + var postData={pushTabData: finalData}; + $.ajax({ + type : 'POST', + url : uuu, + dataType: 'json', + contentType: 'application/json', + data: JSON.stringify(postData), + success : function(data){ + $scope.$apply(function(){ + $scope.data=data.data; + $scope.pdpdata = JSON.parse(data.data); + $scope.pushTabPDPGrid.data = $scope.pdpdata; + Notification.success("Policy Pushed Successfully"); + }); + console.log($scope.data); + }, + error : function(data){ + Notification.error("Error Occured while Pushing Policy."); + } + }); + + } + }; + + +}); -- cgit 1.2.3-korg