From 302112b8c095984fe054bb357cbbd2ef3d88e844 Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 화, 22 2월 2022 13:49:48 +0900
Subject: [PATCH] Merge branch 'master' of http://maprex.iptime.org:9001/r/owl-kisa

---
 src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java           |   62 +++++++++++++--
 src/main/resources/system_prod.properties                                      |    8 +-
 src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java       |   52 ++++++++++--
 src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java       |   61 +++++++++++++--
 src/main/webapp/scripts/app/hostingField/hostingFieldImportExcel.controller.js |    2 
 src/main/java/kr/wisestone/owl/constant/MsgConstants.java                      |    4 +
 src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties                         |    4 +
 src/main/webapp/scripts/app/issue/issueDetail.controller.js                    |    2 
 8 files changed, 161 insertions(+), 34 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
index 1960930..9a5bd12 100644
--- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
+++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
@@ -285,6 +285,10 @@
     public static final String ISP_NAME_ALREADY_IN_USE = "ISP_NAME_ALREADY_IN_USE";   // �빐�떦 ISP紐낆� �씠誘� �벑濡앸릺�뼱 �엳�뒿�땲�떎.
     public static final String ISP_EXIST_COMPANY = "ISP_EXIST_COMPANY";   // �뾽泥댁뿉 �꽕�젙�릺�뼱�엳�뒗 ISP媛� 議댁옱�빀�땲�떎.
 
+    public static final String CODE_NOT_INVALID = "CODE_NOT_INVALID";   // 肄붾뱶紐낆뿉�뒗 �듅�닔臾몄옄瑜� �엯�젰 �븷 �닔 �뾾�뒿�땲�떎.
+    public static final String TEL_NOT_INVALID = "TEL_NOT_INVALID";   // �뿰�씫泥섏뿉�뒗 �닽�옄留� �삉�뒗 �닽�옄 + �븯�씠�뵂('-')留� �엯�젰 �븷 �닔 �엳�뒿�땲�떎.
+    public static final String EMAIL_NOT_INVALID = "EMAIL_NOT_INVALID";   //  �씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+
     public static final String PROJECT_NOT_INCLUDE_DEPARTMENT = "PROJECT_NOT_INCLUDE_DEPARTMENT";   // �꽑�깮�븳 遺��꽌 以� �봽濡쒖젥�듃�뿉 李몄뿬�븯怨� �엳吏� �븡�� 遺��꽌媛� �엳�뒿�땲�떎.
     public static final String PROJECT_DEPARTMENT_NOT_EQUAL_WORKFLOW = "PROJECT_DEPARTMENT_NOT_EQUAL_WORKFLOW"; // �빐�떦 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �썙�겕�뵆濡쒖슦�쓽 �떞�떦遺��꽌�뒗 �봽濡쒖젥�듃�쓽 �떞�떦遺��꽌�뿉�꽌 �젣�쇅�떆�궗 �닔 �뾾�뒿�땲�떎.
 
diff --git a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
index 1b771bb..6f5da98 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
@@ -9,7 +9,6 @@
 import kr.wisestone.owl.util.MapUtil;
 import kr.wisestone.owl.web.condition.CompanyFieldCondition;
 import kr.wisestone.owl.web.form.CompanyFieldForm;
-import kr.wisestone.owl.web.form.IssueForm;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.*;
 import org.springframework.transaction.annotation.Transactional;
@@ -33,6 +32,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
+import java.util.regex.Pattern;
 
 @Service
 public class CompanyFieldServiceImpl extends AbstractServiceImpl<CompanyField, Long, JpaRepository<CompanyField, Long>> implements CompanyFieldService {
@@ -664,25 +664,57 @@
 
     private void setCompanyFormEmail(String email, CompanyFieldForm companyFieldForm, boolean isNull) {
         if (!isNull) {
-            if (email.contains(" ")) {
-                email = email.replace(" ", "");
-            }
+            //  �씠硫붿씪 �쑀�슚�꽦 寃��궗
+            email = this.verifyEmail(email);
             companyFieldForm.setEmail(email);
         }
     }
 
+    /**
+     * �씠硫붿씪 �쑀�슚�꽦 寃��궗
+     * @param email String
+     * @return String
+     */
+    private String verifyEmail(String email) {
+        if (!Pattern.matches("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$", email)) {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.EMAIL_NOT_INVALID));
+        }
+
+        if (email.contains(" ")) {
+            email = email.replace(" ", "");
+        }
+
+        return email;
+    }
+
     private void setCompanyFormTel(String tel, CompanyFieldForm companyFieldForm, boolean isNull) {
         if (!isNull) {
-            if (tel.contains("-")) {
-                tel = tel.replace("-", "");
-            }
-            if (tel.contains(" ")) {
-                tel = tel.replace(" ", "");
-            }
+            //  �뿰�씫泥� �쑀�슚�꽦 寃��궗
+            tel = this.verifyTel(tel);
             companyFieldForm.setTel(tel);
         }
     }
 
+    /**
+     * �뿰�씫泥� �쑀�슚�꽦 寃��궗
+     * @param tel String
+     * @return String
+     */
+    private String verifyTel(String tel) {
+        if (!Pattern.matches("^[0-9-]{2,20}$", tel)) {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.TEL_NOT_INVALID));
+        }
+
+        if (tel.contains("-")) {
+            tel = tel.replace("-", "");
+        }
+        if (tel.contains(" ")) {
+            tel = tel.replace(" ", "");
+        }
+
+        return tel;
+    }
+
     private void setCompanyFormHostingName(String cellStr, Map<String, HostingField> hostingFieldMaps, CompanyFieldForm companyFieldForm, int rowIndex, boolean isNull) {
         if (!isNull) {
             HostingField hostingField = hostingFieldMaps.get(cellStr);
diff --git a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java
index 9235686..90bb326 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java
@@ -31,6 +31,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
+import java.util.regex.Pattern;
 
 @Service
 public class HostingFieldServiceImpl extends AbstractServiceImpl<HostingField, Long, JpaRepository<HostingField, Long>> implements HostingFieldService {
@@ -466,23 +467,54 @@
 
     private void setHostingFormEmail(String email, HostingFieldForm hostingFieldForm, boolean isNull) {
         if (!isNull) {
-            if (email.contains(" ")) {
-                email = email.replace(" ", "");
-            }
+            //  �씠硫붿씪 �쑀�슚�꽦 寃��궗
+            email = this.verifyEmail(email);
             hostingFieldForm.setEmail(email);
         }
     }
 
+    /**
+     * �씠硫붿씪 �쑀�슚�꽦 寃��궗
+     * @param email String
+     * @return String
+     */
+    private String verifyEmail(String email) {
+        if (!Pattern.matches("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$", email)) {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.EMAIL_NOT_INVALID));
+        }
+
+        if (email.contains(" ")) {
+            email = email.replace(" ", "");
+        }
+
+        return email;
+    }
+
     private void setHostingFormTel(String tel, HostingFieldForm hostingFieldForm, boolean isNull) {
         if (!isNull) {
-            if (tel.contains("-")) {
-                tel = tel.replace("-", "");
-            }
-            if (tel.contains(" ")) {
-                tel = tel.replace(" ", "");
-            }
+            //  �뿰�씫泥� �쑀�슚�꽦 寃��궗
+            tel = this.verifyTel(tel);
             hostingFieldForm.setTel(tel);
         }
+    }
+
+    /**
+     * �뿰�씫泥� �쑀�슚�꽦 寃��궗
+     * @param tel String
+     */
+    private String verifyTel(String tel) {
+        if (!Pattern.matches("^[0-9-]{2,20}$", tel)) {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.TEL_NOT_INVALID));
+        }
+
+        if (tel.contains("-")) {
+            tel = tel.replace("-", "");
+        }
+        if (tel.contains(" ")) {
+            tel = tel.replace(" ", "");
+        }
+
+        return tel;
     }
 
     private void setHostingFormManager(String manager, HostingFieldForm hostingFieldForm, boolean isNull) {
@@ -493,9 +525,20 @@
 
     private void setHostingFormCode(String code, HostingFieldForm hostingFieldForm) {
         //肄붾뱶 �쑀�슚�꽦 泥댄겕
+        this.verifyCode(code);
         hostingFieldForm.setCode(code);
     }
 
+    /**
+     * 肄붾뱶 �쑀�슚�꽦 寃��궗
+     * @param code String
+     */
+    private void verifyCode(String code) {
+        if (!Pattern.matches("^[a-zA-Z0-9媛�-�옡�꽦-�뀕�뀖-�뀭\\u318D\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55]+$", code)) {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.CODE_NOT_INVALID));
+        }
+    }
+
     private void setHostingFormName(String title, HostingFieldForm hostingFieldForm) {
         //  �샇�뒪�똿紐� �쑀�슚�꽦 泥댄겕
         //this.verifyTitle(title, null);
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
index 501e770..23212c1 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
@@ -33,6 +33,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
+import java.util.regex.Pattern;
 
 @Service
 public class IspFieldServiceImpl extends AbstractServiceImpl<IspField, Long, JpaRepository<IspField, Long>> implements IspFieldService {
@@ -472,23 +473,55 @@
 
     private void setIspFormEmail(String email, IspFieldForm ispFieldForm, boolean isNull) {
         if (!isNull) {
-            if (email.contains(" ")) {
-                email = email.replace(" ", "");
-            }
+            //  �씠硫붿씪 �쑀�슚�꽦 寃��궗
+            email = this.verifyEmail(email);
             ispFieldForm.setEmail(email);
         }
     }
 
+    /**
+     * �씠硫붿씪 �쑀�슚�꽦 寃��궗
+     * @param email String
+     * @return String
+     */
+    private String verifyEmail(String email) {
+        if (!Pattern.matches("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$", email)) {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.EMAIL_NOT_INVALID));
+        }
+
+        if (email.contains(" ")) {
+            email = email.replace(" ", "");
+        }
+
+        return email;
+    }
+
     private void setIspFormTel(String tel, IspFieldForm ispFieldForm, int rowIndex, boolean isNull) {
         if (!isNull) {
-            if (tel.contains("-")) {
-                tel = tel.replace("-", "");
-            }
-            if (tel.contains(" ")) {
-                tel = tel.replace(" ", "");
-            }
+            //  �뿰�씫泥� �쑀�슚�꽦 寃��궗
+            tel = this.verifyTel(tel);
             ispFieldForm.setTel(tel);
         }
+    }
+
+    /**
+     * �뿰�씫泥� �쑀�슚�꽦 寃��궗
+     * @param tel String
+     * @return String
+     */
+    private String verifyTel(String tel) {
+        if (!Pattern.matches("^[0-9-]{2,20}$", tel)) {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.TEL_NOT_INVALID));
+        }
+
+        if (tel.contains("-")) {
+            tel = tel.replace("-", "");
+        }
+        if (tel.contains(" ")) {
+            tel = tel.replace(" ", "");
+        }
+
+        return tel;
     }
 
     private void setIspFormManager(String manager, IspFieldForm ispFieldForm, boolean isNull) {
@@ -499,9 +532,20 @@
 
     private void setIspFormCode(String code, IspFieldForm ispFieldForm) {
         //肄붾뱶 �쑀�슚�꽦 泥댄겕
+        this.verifyCode(code);
         ispFieldForm.setCode(code);
     }
 
+    /**
+     * 肄붾뱶 �쑀�슚�꽦 寃��궗
+     * @param code String
+     */
+    private void verifyCode(String code) {
+        if (!Pattern.matches("^[a-zA-Z0-9媛�-�옡�꽦-�뀕�뀖-�뀭\\u318D\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55]+$", code)) {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.CODE_NOT_INVALID));
+        }
+    }
+
     private void setIspFormName(String title, IspFieldForm ispFieldForm) {
         //  ISP紐� �쑀�슚�꽦 泥댄겕
         //this.verifyTitle(title, null);
diff --git a/src/main/resources/system_prod.properties b/src/main/resources/system_prod.properties
index 7c927f6..926da3c 100644
--- a/src/main/resources/system_prod.properties
+++ b/src/main/resources/system_prod.properties
@@ -41,7 +41,7 @@
 email.host=221.149.161.20
 email.port=25
 email.sender=KISA
-email.userName=detect@krcert.or.kr
+email.userName=
 email.password=kisc%2004
 email.transport.protocol=smtp
 email.smtp.auth=true
@@ -50,13 +50,13 @@
 email.sendUrl=http://192.132.247.105:8180
 
 # \uD68C\uACC4 \uB2F4\uB2F9\uC790 \uACB0\uC81C \uCDE8\uC18C \uC54C\uB9BC - \uD68C\uACC4 \uB2F4\uB2F9\uC790\uB294 \uAF2D \uC2DC\uC2A4\uD15C\uC5D0 \uAC00\uC785 \uB418\uC5B4 \uC788\uC5B4\uC57C \uD55C\uB2E4.
-payment.cancel.manager.email=detect@krcert.or.kr
+payment.cancel.manager.email=
 
 # \uC0AC\uC6A9\uC790 \uAC00\uC785 \uC815\uBCF4 \uC54C\uB9BC - OWL ITS \uC9C1\uBB34 \uAD00\uB828\uC790\uC5D0\uAC8C \uC804\uC1A1
-user.join.statistics.email=detect@krcert.or.kr
+user.join.statistics.email=
 
 # \uC2DC\uC2A4\uD15C \uD604\uD669 \uC815\uBCF4 \uC54C\uB9BC
-total.statistics.email=detect@krcert.or.kr
+total.statistics.email=
 
 # saas service max user & use period
 # packageteyp 1 : lite (~200 Users), 2 : medium (~500 users), 3 : Enterprice (~1000 users) (0 \uC740 demo version)
diff --git a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
index 6d547d5..0b716ec 100644
--- a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
+++ b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
@@ -266,3 +266,7 @@
 ISP_NAME_MAX_LENGTH_OUT = ISP\uBA85\uC740 \uCD5C\uB300 300\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
 ISP_NAME_ALREADY_IN_USE=\uD574\uB2F9 ISP\uBA85\uC740 \uC774\uBBF8 \uB4F1\uB85D\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.
 ISP_EXIST_COMPANY = \uC5C5\uCCB4\uC5D0 \uC124\uC815\uB418\uC5B4\uC788\uB294 ISP\uAC00 \uC874\uC7AC\uD569\uB2C8\uB2E4.
+
+CODE_NOT_INVALID=\uCF54\uB4DC\uBA85\uC5D0\uB294 \uD2B9\uC218\uBB38\uC790\uB97C \uC785\uB825 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
+TEL_NOT_INVALID=\uC5F0\uB77D\uCC98\uC5D0\uB294 \uC22B\uC790\uB9CC \uB610\uB294 \uC22B\uC790 + \uD558\uC774\uD508('-')\uB9CC \uC785\uB825 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
+EMAIL_NOT_INVALID=\uC774\uBA54\uC77C \uD615\uC2DD\uC774 \uB9DE\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
diff --git a/src/main/webapp/scripts/app/hostingField/hostingFieldImportExcel.controller.js b/src/main/webapp/scripts/app/hostingField/hostingFieldImportExcel.controller.js
index f949206..3090661 100644
--- a/src/main/webapp/scripts/app/hostingField/hostingFieldImportExcel.controller.js
+++ b/src/main/webapp/scripts/app/hostingField/hostingFieldImportExcel.controller.js
@@ -66,7 +66,7 @@
                             }, 1000);
                         }
                         else {
-                            SweetAlert.error($filter("translate")("hostingField.failedToSelectHostingFieldFullList"), result.data.message.message); // �벑濡� �떎�뙣
+                            SweetAlert.error($filter("translate")("hostingField.failedHostingFieldRegistration"), result.data.message.message); // �벑濡� �떎�뙣
                             $rootScope.spinner = false;
                         }
                     });
diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index 82febdc..6cbd9ca 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -1199,7 +1199,7 @@
                                 $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos;
 
                                 if ($rootScope.workProject.id > -1 && result.data.data.projectVo !== null) {
-                                    $rootScope.changeLastProject(result.data.data.projectVo.id);
+                                    $rootScope.changeLastProject(result.data.data.projectVo.id, false, false);
                                 }
 
                                 $scope.vm.inheritPartners = result.data.data.issueTypeVo.inheritPartners;

--
Gitblit v1.8.0