aboutsummaryrefslogtreecommitdiffstats
path: root/ecomp-sdk-app/src/main/webapp/app/policyApp/controller/AutoPushController.js
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk-app/src/main/webapp/app/policyApp/controller/AutoPushController.js')
-rw-r--r--ecomp-sdk-app/src/main/webapp/app/policyApp/controller/AutoPushController.js201
1 files changed, 201 insertions, 0 deletions
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: '<button type="button" class="btn btn-primary" ng-click="grid.appScope.editPDPGroupWindow(row.entity)"><i class="fa fa-pencil-square-o"></i></button> ',
+ 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.");
+ }
+ });
+
+ }
+ };
+
+
+});