aboutsummaryrefslogtreecommitdiffstats
path: root/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryController/PSGroupPolicyScopeDictController.js
blob: 6b65a5938f08b7ab1e385c1cfd6160d7dc0c3b83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*-
 * ============LICENSE_START=======================================================
 * ONAP Policy Engine
 * ================================================================================
 * Copyright (C) 2017, 2019 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('editPSGroupPolicyScopeController' ,  
    function ($scope, $modalInstance, message, PolicyAppService, UserInfoServiceDS2, Notification){
    $scope.edit = false;
    if(message.groupPolicyScopeListData==null)
        $scope.label='Add New Group Policy Scope'
    else{
        $scope.label='Edit Group Policy Scope'
        $scope.disableCd=true;
        $scope.edit = true;
    }
        
    PolicyAppService.getData('getDictionary/get_PSServiceDataByName').then(function (data) {
        var j = data;
        $scope.data = JSON.parse(j.data);
        $scope.psServiceDictionaryDatas = JSON.parse($scope.data.psServiceDictionaryDatas);
    });

    PolicyAppService.getData('getDictionary/get_PSTypeDataByName').then(function (data) {
        var j = data;
        $scope.data = JSON.parse(j.data);
        $scope.psTypeDictionaryDatas = JSON.parse($scope.data.psTypeDictionaryDatas);
    });

    PolicyAppService.getData('getDictionary/get_PSResourceDataByName').then(function (data) {
        var j = data;
        $scope.data = JSON.parse(j.data);
        $scope.psResourceDictionaryDatas = JSON.parse($scope.data.psResourceDictionaryDatas);
    });

    PolicyAppService.getData('getDictionary/get_PSClosedLoopDataByName').then(function (data) {
        var j = data;
        $scope.data = JSON.parse(j.data);
        $scope.psClosedLoopDictionaryDatas = JSON.parse($scope.data.psClosedLoopDictionaryDatas);
    });
    
    /*getting user info from session*/
    var userid = null;
    UserInfoServiceDS2.getFunctionalMenuStaticDetailSession()
          .then(function (response) {              
              userid = response.userid;          
     });
   
    $scope.editPSGroupPolicyScope = message.groupPolicyScopeListData;
    $scope.editPSGroupPolicyScope1 = {resource: [], type:[], service: [], closedloop: []};
    if($scope.edit){
        if(message.groupPolicyScopeListData.groupList != null){
            var splitValue = message.groupPolicyScopeListData.groupList.split(",");
            $scope.splittedGroupListValues = [];
            var splitResource = splitValue[0].split("=");
            $scope.editPSGroupPolicyScope1.resource.push(splitResource[1]);
            var splitType = splitValue[1].split("=");
            $scope.editPSGroupPolicyScope1.type.push(splitType[1]);
            var splitService = splitValue[2].split("=");
            $scope.editPSGroupPolicyScope1.service.push(splitService[1]);
            var splitCloop = splitValue[3].split("=");
            $scope.editPSGroupPolicyScope1.closedloop.push(splitCloop[1]);
        }    
    }
    
    $scope.savePSGroupPolicyScope = function(groupPolicyScopeListData, groupPolicyScopeListData1) {
        var regex = new RegExp("^[a-zA-Z0-9_]*$");
        if(!regex.test(groupPolicyScopeListData.groupName)) {
            Notification.error("Enter Valid Policy Scope Group Name without spaces or special characters");
        }else{
            if(groupPolicyScopeListData1.resource[0] != undefined && groupPolicyScopeListData1.type[0] != undefined && groupPolicyScopeListData1.service[0] != undefined && groupPolicyScopeListData1.closedloop[0] != undefined){
                var uuu = "saveDictionary/ps_dictionary/save_psGroupPolicyScope";
                var postData={groupPolicyScopeListData: groupPolicyScopeListData,
                        groupPolicyScopeListData1: groupPolicyScopeListData1, userid: userid};
                $.ajax({
                    type : 'POST',
                    url : uuu,
                    dataType: 'json',
                    contentType: 'application/json',
                    data: JSON.stringify(postData),
                    success : function(data){
                        $scope.$apply(function(){
                            $scope.groupPolicyScopeListDatas=data.groupPolicyScopeListDatas;});
                        if($scope.groupPolicyScopeListDatas == "Duplicate"){
                            Notification.error("GroupPolicyScope Dictionary exists with Same Group Name.")
                        }else if($scope.groupPolicyScopeListDatas == "DuplicateGroup"){
                            Notification.error("GroupPolicyScope Dictionary exists with Same Group List.")
                        }else{      
                            $modalInstance.close({groupPolicyScopeListDatas:$scope.groupPolicyScopeListDatas});
                        }
                    },
                    error : function(data){
                        Notification.error("Error while saving.");
                    }
                });
            }else{
                Notification.error("Please Select all the required fields to Save");
            }
        }
    };

    $scope.close = function() {
        $modalInstance.close();
    };
});