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 | 513 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 498 insertions(+), 15 deletions(-) diff --git a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js index c163f32..0a71bb4 100644 --- a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js +++ b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js @@ -8,28 +8,150 @@ 'angular' ], function (app, angular) { - app.controller('companyFieldModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'CompanyField', 'parameter', 'SweetAlert', '$filter', '$q', - function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, CompanyField, parameter, SweetAlert, $filter, $q) { + app.controller('companyFieldModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'CompanyField', 'parameter', 'SweetAlert', '$filter', '$q', '$injector','$controller', + function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, CompanyField, parameter, SweetAlert, $filter, $q, $injector, $controller) { $scope.fn = { detail : detail, // �긽�꽭 議고쉶 cancel : cancel, // �뙘�뾽 李� �떕湲� formSubmit : formSubmit, // �뤌 �쟾�넚 formCheck : formCheck, // �뤌 泥댄겕 + getIssueIspFieldListCallBack : getIssueIspFieldListCallBack, + getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack, + getCompanyTypeListCallBack : getCompanyTypeListCallBack, + getParentSectorListCallBack : getParentSectorListCallBack, + getChildSectorListCallBack : getChildSectorListCallBack, + getRegionListCallBack : getRegionListCallBack, + getStatusListCallBack : getStatusListCallBack, + addTel : addTel, + addMail : addMail, + addIpRange : addIpRange, + removeTelInput : removeTelInput, + removeMailInput : removeMailInput, + removeIpRangeInput : removeIpRangeInput }; $scope.vm = { id : parameter.id, form : { name : "", //�뾽泥대챸 + ispId : "", + ispName : "", + hostingName : "", + hostingId : "", manager : "", //�떞�떦�옄 tel : "", //�쟾�솕踰덊샇 email : "", //�씠硫붿씪 url : "", // url - memo : "" //硫붾え(鍮꾧퀬) + ipStart : "", //ip�떆�옉二쇱냼 + ipEnd : "", //ip醫낅즺二쇱냼 + memo : "", //硫붾え(鍮꾧퀬) + companyTypeId : "", + companyType : "", //湲곗뾽援щ텇 + parentSectorId : "", + parentSector : "", //�뾽醫�(��遺꾨쪟) + childSectorId : "", + childSector : "", //�뾽醫�(以묐텇瑜�) + regionId : "", + region : "", //吏��뿭 + statusId : "", + status : "", //�긽�깭 + inputTels : [0], + tels : [], + inputMails : [0], + emails : [], + inputIpStarts : [0], //ip �떆�옉�젏 + ipStarts : [], + inputIpEnds : [0], //ip 醫낅즺�젏 + ipEnds : [] + }, + typeCategory : { + companyType : "COMPANYTYPE", + parentSector : "PARENTSECTOR", + childSector : "CHILDSECTOR", + region : "REGION", + status : "STATUS" + }, + autoCompletePage : { + ispField : { + page : 0, + totalPage : 0 + }, + hostingField : { + page : 0, + totalPage : 0 + }, + companyType : { + page : 0, + totalPage : 0 + }, + parentSector : { + page : 0, + totalPage : 0 + }, + childSector : { + page : 0, + totalPage : 0 + }, + region : { + page : 0, + totalPage : 0 + }, + status : { + page : 0, + totalPage : 0 + } } }; + angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); + + + // ISP�젙蹂� autocomplete page �뾽�뜲�씠�듃 + function getIssueIspFieldListCallBack(result) { + $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage; + } + + // �샇�뒪�똿�젙蹂� autocomplete page �뾽�뜲�씠�듃 + function getIssueHostingFieldListCallBack(result) { + $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage; + } + + // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃 + function getCompanyTypeListCallBack(result) { + $scope.vm.autoCompletePage.companyType.totalPage = result.data.page.totalPage; + } + + // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃 + 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; + } + + // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃 + function getChildSectorListCallBack(result) { + $scope.vm.autoCompletePage.childSector.totalPage = result.data.page.totalPage; + } + + // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃 + function getRegionListCallBack(result) { + $scope.vm.autoCompletePage.region.totalPage = result.data.page.totalPage; + } + + // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃 + function getStatusListCallBack(result) { + $scope.vm.autoCompletePage.status.totalPage = result.data.page.totalPage; + } + + // �뤌 泥댄겕 function formCheck(formInvalid) { if (formInvalid) { return true; @@ -38,22 +160,193 @@ return false; } + $scope.$on("ispFieldEvent", function (event, result) { + 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) && $rootScope.isDefined(result[0])) { + $scope.vm.form.hostingId = result[0].id; + } + }); + + $scope.$on("companyTypeEvent", function (event, result) { + 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) && $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) && $rootScope.isDefined(result[0])) { + $scope.vm.form.childSectorId = result[0].id; + } + }); + $scope.$on("regionEvent", function (event, result) { + 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) && $rootScope.isDefined(result[0])) { + $scope.vm.form.statusId = result[0].id; + } + }); + // �뤌 �쟾�넚 function formSubmit() { $rootScope.spinner = true; + $scope.vm.form.tel = $scope.vm.form.tel.replace(/\-/g,''); // �쟾�솕踰덊샇瑜� 蹂대궪�븧 �븯�씠�뵂�쓣 �젣嫄고빐�꽌 DB�뿉 ���옣 var content = { id : parameter.id, name : $rootScope.preventXss($scope.vm.form.name), - /*companyType : $rootScope.preventXss($scope.vm.form.companyType), - profitYN : $rootScope.preventXss($scope.vm.form.profitYN), - industry : $rootScope.preventXss($scope.vm.form.industry), - domain : $rootScope.preventXss($scope.vm.form.domain),*/ + ispId : (function () { // ISP �븘�씠�뵒 + 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) { + ispId = $scope.vm.form.issueIspFields[0].id; + } + return ispId; + })(), + hostingId : (function () { // Hosting �븘�씠�뵒 + 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) { + hostingId = $scope.vm.form.issueHostingFields[0].id; + } + return hostingId; + })(), manager : $rootScope.preventXss($scope.vm.form.manager), - tel : $rootScope.preventXss($scope.vm.form.tel), - email : $rootScope.preventXss($scope.vm.form.email), - url : $rootScope.preventXss($scope.vm.form.url), // url - memo : $rootScope.preventXss($scope.vm.form.memo) + tels : (function () { + var telList = []; + if ($scope.vm.form.tels != null) { + angular.forEach($scope.vm.form.tels, function (tel) { + telList.push(tel); + }); + telList = telList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留� + return item !== null && item !== undefined && item !== ''; + }); + telList = telList.filter(function(item, idx){ + return telList.findIndex(function(item2, idx2){ + return item === item2 + }) == idx; + }); + } + return telList; + })(), + emails : (function () { + var emailList = []; + if ($scope.vm.form.emails != null) { + angular.forEach($scope.vm.form.emails, function (email) { + emailList.push(email); + }); + emailList = emailList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留� + return item !== null && item !== undefined && item !== ''; + }); + emailList = emailList.filter(function(item, idx){ + return emailList.findIndex(function(item2, idx2){ + return item === item2 + }) == idx; + }); + } + return emailList; + })(), + 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 = null; + if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) { + companyTypeId = $scope.vm.form.companyTypes[0].id; + } else { + companyTypeId = $scope.vm.form.companyTypeId; + } + return companyTypeId; + })(), + parentSectorId : (function () { + var parentSectorId = null; + if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) { + parentSectorId = $scope.vm.form.parentSectors[0].id; + } else { + parentSectorId = $scope.vm.form.parentSectorId; + } + return parentSectorId; + })(), + childSectorId : (function () { + var childSectorId = null; + if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) { + childSectorId = $scope.vm.form.childSectors[0].id; + } else { + childSectorId = $scope.vm.form.childSectorId; + } + return childSectorId; + })(), + regionId : (function () { + var regionId = null; + if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) { + regionId = $scope.vm.form.regions[0].id; + } else { + regionId = $scope.vm.form.regionId; + } + return regionId; + })(), + statusId : (function () { + var statusId = null; + if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) { + statusId = $scope.vm.form.statuses[0].id; + } else { + statusId = $scope.vm.form.statusId; + } + return statusId; + })(), + statusName : $scope.vm.form.status }; CompanyField.modify($resourceProvider.getContent( @@ -62,7 +355,6 @@ if (result.data.message.status === "success") { $scope.fn.cancel(); - // 紐⑸줉 �솕硫� 媛깆떊 $rootScope.$broadcast("getPageList", {}); } @@ -73,6 +365,93 @@ $rootScope.spinner = false; }); + } + + // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉 + function addTel() { + var arrayFull = true; // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺� + var index = 0; + $scope.vm.form.inputTels.forEach(function (tel) { + if (!$rootScope.isDefined($scope.vm.form.tels[index])) { + arrayFull = false; + } + index++; + }); + + if (arrayFull) { + $scope.vm.form.inputTels.push(index); + $scope.vm.form.tels[index] = ""; + } else { + SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 異붽�踰꾪듉 寃쎄퀬 + } + } + + // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉 + function addMail() { + var arrayFull = true; // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺� + var index = 0; + $scope.vm.form.inputMails.forEach(function (email) { + if (!$rootScope.isDefined($scope.vm.form.emails[index])) { + arrayFull = false; + } + index++; + }); + + if (arrayFull) { + $scope.vm.form.inputMails.push(index); + $scope.vm.form.emails[index] = "" + } else { + SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 異붽�踰꾪듉 寃쎄퀬 + } + } + + // 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); } // �뙘�뾽 李� �떕湲� @@ -95,13 +474,117 @@ $resourceProvider.getPageContent(0, 1))).then(function (result) { if (result.data.message.status === "success") { - if (angular.isDefined(result.data.content)) { + if (result.data.content != null) { $scope.vm.form.name = result.data.content.name; $scope.vm.form.manager = result.data.content.manager; - $scope.vm.form.email = result.data.content.email; - $scope.vm.form.tel = result.data.content.tel; + + if (result.data.content.tel != null) { + var inputTels = $scope.vm.form.inputTels; + var tels = result.data.content.tel; + if (result.data.content.tel.indexOf("[") !== -1){ + tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1); + } + var telArr = tels.split(","); + angular.forEach(telArr, function (tel) { + var tell = tel.trim(); + inputTels.push(tell); + }); + inputTels = inputTels.filter(function(item) { + return item !== null && item !== undefined && item !== ''; + }); + if (inputTels[0] === 0 || inputTels[0] === "") { + inputTels.shift(); + } + inputTels.push(""); + $scope.vm.form.tels = angular.copy(inputTels); + } + + if (result.data.content.email != null) { + var inputMails = $scope.vm.form.inputMails; + var emails = result.data.content.email + if (result.data.content.email.indexOf("[") !== -1){ + emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1); + } + var emailArr = emails.split(","); + angular.forEach(emailArr, function (email) { + var mail = email.trim(); + inputMails.push(mail); + }); + inputMails = inputMails.filter(function(item) { + return item !== null && item !== undefined && item !== ''; + }); + if(inputMails[0] === 0 || inputMails[0] === "") { // 泥ル쾲吏� 諛곗뿴�� 怨듬갚�쑝濡� + inputMails.shift(); + } + inputMails.push(""); + $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; + $scope.vm.form.parentSectorId = result.data.content.parentSectorId; + $scope.vm.form.parentSector = result.data.content.parentSectorName; + $scope.vm.form.childSectorId = result.data.content.childSectorId; + $scope.vm.form.childSector = result.data.content.childSectorName; + $scope.vm.form.regionId = result.data.content.regionId; + $scope.vm.form.region = result.data.content.regionName; + $scope.vm.form.statusId = result.data.content.statusId; + $scope.vm.form.status = result.data.content.statusName; + + if (result.data.content.ispFieldVo != null) { + $scope.vm.form.ispId = result.data.content.ispFieldVo.id; + $scope.vm.form.ispName = result.data.content.ispFieldVo.name; + } + if (result.data.content.hostingFieldVo != null) { + $scope.vm.form.hostingId = result.data.content.hostingFieldVo.id; + $scope.vm.form.hostingName = result.data.content.hostingFieldVo.name; + } } } else { -- Gitblit v1.8.0