From add0cdefd56c50c5427945c895574f71202e7ed6 Mon Sep 17 00:00:00 2001
From: minhee <alsdldlfrl@gmail.com>
Date: 수, 16 3월 2022 18:12:51 +0900
Subject: [PATCH] - api로 이슈 추가 시 사용자정의필드 타입으로 체크 => 정규식표현검사로 체크로 변경

---
 src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js |  177 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 157 insertions(+), 20 deletions(-)

diff --git a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
index 16ded64..0a71bb4 100644
--- a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
+++ b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
@@ -25,8 +25,10 @@
                     getStatusListCallBack : getStatusListCallBack,
                     addTel : addTel,
                     addMail : addMail,
+                    addIpRange : addIpRange,
                     removeTelInput : removeTelInput,
-                    removeMailInput : removeMailInput
+                    removeMailInput : removeMailInput,
+                    removeIpRangeInput : removeIpRangeInput
                 };
 
                 $scope.vm = {
@@ -41,6 +43,8 @@
                         tel : "",  //�쟾�솕踰덊샇
                         email : "",  //�씠硫붿씪
                         url : "", // url
+                        ipStart : "", //ip�떆�옉二쇱냼
+                        ipEnd : "", //ip醫낅즺二쇱냼
                         memo : "",  //硫붾え(鍮꾧퀬)
                         companyTypeId : "",
                         companyType : "", //湲곗뾽援щ텇
@@ -53,9 +57,13 @@
                         statusId : "",
                         status : "", //�긽�깭
                         inputTels : [0],
-                        tels : {},
+                        tels : [],
                         inputMails : [0],
-                        emails : {}
+                        emails : [],
+                        inputIpStarts : [0], //ip �떆�옉�젏
+                        ipStarts : [],
+                        inputIpEnds : [0], //ip 醫낅즺�젏
+                        ipEnds : []
                     },
                     typeCategory : {
                         companyType : "COMPANYTYPE",
@@ -115,7 +123,16 @@
                 }
 
                 // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
-                function getParentSectorListCallBack(result) {
+                function getParentSectorListCallBack(result, value) {
+                    if (value === "") {
+                        $scope.vm.form.parentSectorId = "";
+                        if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) {
+                            $scope.vm.form.parentSectors[0].id = "";
+                        }
+                        $scope.vm.form.childSectorId = "";
+                        $scope.vm.form.childSector = "";
+                        $scope.vm.form.childSectors = [];
+                    }
                     $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage;
                 }
 
@@ -144,42 +161,47 @@
                 }
 
                 $scope.$on("ispFieldEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.ispId = result[0].id;
                     }
                 });
 
                 $scope.$on("hostingFieldEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.hostingId = result[0].id;
                     }
                 });
 
                 $scope.$on("companyTypeEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.companyTypeId = result[0].id;
                     }
                 });
                 $scope.$on("parentSectorEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.parentSectorId = result[0].id;
+                    }  else {
+                        $scope.vm.form.parentSectorId = "";
+                        if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) {
+                            $scope.vm.form.parentSectors[0].id = "";
+                        }
                     }
                     $scope.vm.form.childSectorId = "";
                     $scope.vm.form.childSector = "";
                     $scope.vm.form.childSectors = [];
                 });
                 $scope.$on("childSectorEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.childSectorId = result[0].id;
                     }
                 });
                 $scope.$on("regionEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.regionId = result[0].id;
                     }
                 });
                 $scope.$on("statusEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.statusId = result[0].id;
                     }
                 });
@@ -193,7 +215,7 @@
                         id : parameter.id,
                         name : $rootScope.preventXss($scope.vm.form.name),
                         ispId : (function () {  // ISP �븘�씠�뵒
-                            var ispId = -1;
+                            var ispId = null;
                             if ($scope.vm.form.ispName !== "" && $scope.vm.form.ispId !== null && $scope.vm.form.ispId !== -1) {
                                 ispId = $scope.vm.form.ispId;
                             }else if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) {
@@ -202,7 +224,7 @@
                             return ispId;
                         })(),
                         hostingId : (function () {  // Hosting �븘�씠�뵒
-                            var hostingId = -1;
+                            var hostingId = null;
                             if ($scope.vm.form.hostingName !== "" && $scope.vm.form.hostingId !== null && $scope.vm.form.hostingId !== -1) {
                                 hostingId = $scope.vm.form.hostingId;
                             }else if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) {
@@ -245,10 +267,42 @@
                             }
                             return emailList;
                         })(),
-                        url : $rootScope.preventXss($scope.vm.form.url), // url
-                        memo : $rootScope.preventXss($scope.vm.form.memo),
+                        url : (function () {
+                            //  紐⑤뱺 怨듬갚 �젣嫄�
+                            var regex = / /gi;
+                            let url = $scope.vm.form.url;
+                            if ($rootScope.isDefined(url) && url.indexOf(" ") !== -1) {
+                                url = url.replace(regex, "");
+                            }
+                            return url;
+                        })(),
+                        ipStarts : (function () {
+                            var ipStarts = [];
+                            if ($scope.vm.form.ipStarts != null) {
+                                angular.forEach($scope.vm.form.ipStarts, function (ipS) {
+                                    ipStarts.push(ipS);
+                                });
+                                ipStarts  = ipStarts.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                            }
+                            return ipStarts;
+                        })(),
+                        ipEnds : (function () {
+                            var ipEnds = [];
+                            if ($scope.vm.form.ipEnds != null) {
+                                angular.forEach($scope.vm.form.ipEnds, function (ipE) {
+                                    ipEnds.push(ipE);
+                                });
+                                ipEnds  = ipEnds.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                            }
+                            return ipEnds;
+                        })(),
+                        memo : $scope.vm.form.memo,
                         companyTypeId : (function () {
-                            var companyTypeId = -1;
+                            var companyTypeId = null;
                             if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
                                 companyTypeId = $scope.vm.form.companyTypes[0].id;
                             } else {
@@ -257,7 +311,7 @@
                             return companyTypeId;
                         })(),
                         parentSectorId : (function () {
-                            var parentSectorId = -1;
+                            var parentSectorId = null;
                             if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
                                 parentSectorId = $scope.vm.form.parentSectors[0].id;
                             } else {
@@ -266,7 +320,7 @@
                             return parentSectorId;
                         })(),
                         childSectorId : (function () {
-                            var childSectorId = -1;
+                            var childSectorId = null;
                             if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
                                 childSectorId = $scope.vm.form.childSectors[0].id;
                             } else {
@@ -275,7 +329,7 @@
                             return childSectorId;
                         })(),
                         regionId : (function () {
-                            var regionId = -1;
+                            var regionId = null;
                             if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
                                 regionId = $scope.vm.form.regions[0].id;
                             } else {
@@ -284,7 +338,7 @@
                             return regionId;
                         })(),
                         statusId : (function () {
-                            var statusId = -1;
+                            var statusId = null;
                             if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
                                 statusId = $scope.vm.form.statuses[0].id;
                             } else {
@@ -351,14 +405,53 @@
                     }
                 }
 
+                // IPRange input 李� 異붽� 踰꾪듉
+                function addIpRange() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var startIdx = 0;
+                    var endIdx = 0;
+                    $scope.vm.form.inputIpStarts.forEach(function (start) {
+                        if (!$rootScope.isDefined($scope.vm.form.ipStarts[startIdx])) {
+                            arrayFull = false;
+                        }
+                        startIdx++;
+                    });
+
+                    $scope.vm.form.inputIpEnds.forEach(function (start) {
+                        if (!$rootScope.isDefined($scope.vm.form.ipEnds[endIdx])) {
+                            arrayFull = false;
+                        }
+                        endIdx++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputIpStarts.push(startIdx);
+                        $scope.vm.form.ipStarts[startIdx] = "";
+                        $scope.vm.form.inputIpEnds.push(endIdx);
+                        $scope.vm.form.ipEnds[endIdx] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("companyField.writeCompanyIpRange"), $filter("translate")("companyField.writeIpRange")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
                 // �뿰�씫泥� input �궘�젣
                 function removeTelInput(index) {
                     $scope.vm.form.inputTels.splice(index, 1);
+                    $scope.vm.form.tels.splice(index, 1);
                 }
 
                 // �씠硫붿씪 二쇱냼 input �궘�젣
                 function removeMailInput(index) {
                     $scope.vm.form.inputMails.splice(index, 1);
+                    $scope.vm.form.emails.splice(index, 1);
+                }
+
+                // ipRange input �궘�젣
+                function removeIpRangeInput(index) {
+                    $scope.vm.form.inputIpStarts.splice(index, 1);
+                    $scope.vm.form.ipStarts.splice(index, 1);
+                    $scope.vm.form.inputIpEnds.splice(index, 1);
+                    $scope.vm.form.ipEnds.splice(index, 1);
                 }
 
                 //  �뙘�뾽 李� �떕湲�
@@ -427,7 +520,51 @@
                                     $scope.vm.form.emails = angular.copy(inputMails);
                                 }
 
+                                if (result.data.content.ipStart != null) {
+                                    var inputIpStarts = $scope.vm.form.inputIpStarts;
+                                    var ipStarts = result.data.content.ipStart
+                                    if (result.data.content.ipStart.indexOf("[") !== -1){
+                                        ipStarts = result.data.content.ipStart.substr(1, result.data.content.ipStart.indexOf("]")-1);
+                                    }
+                                    var ipStartArr = ipStarts.split(",");
+                                    angular.forEach(ipStartArr, function (ipS) {
+                                        var ipStart = ipS.trim();
+                                        inputIpStarts.push(ipStart);
+                                    });
+                                    inputIpStarts = inputIpStarts.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if(inputIpStarts[0] === 0 || inputIpStarts[0] === "") { // 泥ル쾲吏� 諛곗뿴�� 怨듬갚�쑝濡�
+                                        inputIpStarts.shift();
+                                    }
+                                    inputIpStarts.push("");
+                                    $scope.vm.form.ipStarts = angular.copy(inputIpStarts);
+                                }
+
+                                if (result.data.content.ipEnd != null) {
+                                    var inputIpEnds = $scope.vm.form.inputIpEnds;
+                                    var ipEnds = result.data.content.ipEnd
+                                    if (result.data.content.ipEnd.indexOf("[") !== -1){
+                                        ipEnds = result.data.content.ipEnd.substr(1, result.data.content.ipEnd.indexOf("]")-1);
+                                    }
+                                    var ipEndArr = ipEnds.split(",");
+                                    angular.forEach(ipEndArr, function (ipS) {
+                                        var ipEnd = ipS.trim();
+                                        inputIpEnds.push(ipEnd);
+                                    });
+                                    inputIpEnds = inputIpEnds.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if(inputIpEnds[0] === 0 || inputIpEnds[0] === "") { // 泥ル쾲吏� 諛곗뿴�� 怨듬갚�쑝濡�
+                                        inputIpEnds.shift();
+                                    }
+                                    inputIpEnds.push("");
+                                    $scope.vm.form.ipEnds = angular.copy(inputIpEnds);
+                                }
+
                                 $scope.vm.form.url = result.data.content.url;
+                                $scope.vm.form.ipStart = result.data.content.ipStart;
+                                $scope.vm.form.ipEnd = result.data.content.ipEnd;
                                 $scope.vm.form.memo = result.data.content.memo;
                                 $scope.vm.form.companyTypeId = result.data.content.companyTypeId;
                                 $scope.vm.form.companyType = result.data.content.companyTypeName;

--
Gitblit v1.8.0