Просмотр исходного кода

Merge remote-tracking branch 'origin/develop' into 1041

card007 4 лет назад
Родитель
Сommit
fd1d3352d9

+ 4 - 17
src/main/java/com/style24/admin/biz/service/TsaWithdrawService.java

@@ -470,23 +470,6 @@ public class TsaWithdrawService {
 				orderChangeService.partialRefund(info, userNo);
 			}
 
-			// 반품완료 알림톡
-			
-			Withdraw refundOrdchgSq = new Withdraw();
-			refundOrdchgSq.setOrdChgSq(ordChgSq);
-			Withdraw refundInfo = withdrawDao.getRefundInfo(refundOrdchgSq);
-			
-			Order order = new Order();
-			order.setOrdNo(refundInfo.getOrdNo());
-			order.setCustNo(refundInfo.getCustNo());
-			order.setOrdNm(refundInfo.getOrdNm());
-			order.setOrdPhnno(refundInfo.getOrdPhnno());
-			order.setRefundAmt(refundInfo.getRefundAmt());
-			order.setGoodsCnt(refundInfo.getGoodsCnt()+"");
-			order.setGoodsNm(refundInfo.getGoodsNm());
-			
-			kakaotalkService.sendRefundComplete(order, userNo);
-			
 			// 네이버페이 환불컨펌
 			if(TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb)) {
 				// PG 미전송이 아닐 경우 (Y면 미전송, N이면 전송)
@@ -570,5 +553,9 @@ public class TsaWithdrawService {
 		}
 
 	}
+	
+	public Withdraw getRefundInfo(Withdraw withdraw) {
+		return withdrawDao.getRefundInfo(withdraw);
+	}
 
 }

+ 29 - 4
src/main/java/com/style24/admin/biz/web/TsaWithdrawController.java

@@ -19,10 +19,12 @@ import com.style24.admin.biz.service.TsaWithdrawService;
 import com.style24.admin.biz.service.TsaWmsWithdrawService;
 import com.style24.admin.support.controller.TsaBaseController;
 import com.style24.admin.support.security.session.TsaSession;
+import com.style24.core.biz.service.TscKakaotalkService;
 import com.style24.core.biz.service.TscOrderChangeService;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.core.support.session.TscSession;
 import com.style24.persistence.TscPageRequest;
+import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.OrderChange;
 import com.style24.persistence.domain.Withdraw;
 import com.style24.persistence.domain.WithdrawExc;
@@ -59,9 +61,10 @@ public class TsaWithdrawController extends TsaBaseController {
 	private TsaWmsWithdrawService wmsWithdrawService;
 	
 	@Autowired
-	private TscOrderChangeService orderChangeService;	
-	
-	
+	private TscOrderChangeService orderChangeService;
+
+	@Autowired
+	private TscKakaotalkService kakaotalkService;
 
 	
 	/**
@@ -178,13 +181,35 @@ public class TsaWithdrawController extends TsaBaseController {
 	@ResponseBody
 	public GagaResponse refundDetailConfirm(@RequestBody GagaMap orderChange) {
 		log.info("orderChange {}"+orderChange);
+		
+		int userNo = TsaSession.getInfo().getUserNo();
 
 		// 환불 컨펌 처리자 설정
-		orderChange.setInt("userNo", TsaSession.getInfo().getUserNo());
+		orderChange.setInt("userNo", userNo);
 
 		// 환불컨펌 처리
 		withdrawService.refundDetailConfirm(orderChange);
 
+		// 반품완료 알림톡
+		Withdraw refundOrdchgSq = new Withdraw();
+		refundOrdchgSq.setOrdChgSq(orderChange.getInt("ordChgSq"));
+		Withdraw refundInfo = withdrawService.getRefundInfo(refundOrdchgSq);
+
+		Order order = new Order();
+		order.setOrdNo(refundInfo.getOrdNo());
+		order.setCustNo(refundInfo.getCustNo());
+		order.setOrdNm(refundInfo.getOrdNm());
+		order.setOrdPhnno(refundInfo.getOrdPhnno());
+		order.setRefundAmt(refundInfo.getRefundAmt());
+		order.setGoodsCnt(refundInfo.getGoodsCnt()+"");
+		order.setGoodsNm(refundInfo.getGoodsNm());
+
+		try {
+			kakaotalkService.sendRefundComplete(order, userNo);
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
 		return super.ok(message.getMessage("SUCC_0004"));
 	}	
 	

+ 23 - 27
src/main/java/com/style24/admin/support/controller/TsaErrorController.java

@@ -3,11 +3,10 @@ package com.style24.admin.support.controller;
 import javax.servlet.RequestDispatcher;
 import javax.servlet.http.HttpServletRequest;
 
+import org.springframework.boot.web.servlet.error.ErrorController;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.HttpRequestMethodNotSupportedException;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -15,51 +14,48 @@ import com.gagaframework.web.rest.server.GagaResponseStatus;
 
 /**
  * Error Controller
+ * 		Disabling the Whitelabel Error Page
+ * 		- application.yml 파일에 다음을 추가
+ * 			server.error.path: /error
+ * 			server.error.whitelabel.enabled: false
  * 
  * @author gagamel
  * @since 2020. 10. 5
  */
 @Controller
 @Slf4j
-@RequestMapping(value = "/error")
-public class TsaErrorController extends TsaBaseController {
+public class TsaErrorController implements ErrorController {
 
 	/**
-	 * Error
+	 * 이 메서드는 스프링 부트 2.3.x부터 deprecated됨.
+	 * 이 메서드 대신 custom path를 지정하려면 server.error.path 속성으로 지정해야 한다.
 	 */
-	@GetMapping("/500")
-	public ModelAndView error(HttpServletRequest request) throws HttpRequestMethodNotSupportedException {
-		ModelAndView mav = new ModelAndView("error/500");
+	@Override
+	public String getErrorPath() {
+		return null;
+	}
 
+	/**
+	 * Error
+	 */
+	@GetMapping("/error")
+	public String error(HttpServletRequest request) throws HttpRequestMethodNotSupportedException {
 		Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
 
 		if (status != null) {
 			Integer statusCode = Integer.valueOf(status.toString());
-			log.debug("statusCode: {}", statusCode);
+			log.error("Error StatusCode: {}", statusCode);
 
 			if (statusCode == GagaResponseStatus.NOT_FOUND.getCode()) {
-				mav.addObject("status", GagaResponseStatus.NOT_FOUND.getCode());
-				mav.addObject("message", "No mapping found for HTTP request with URI ["
-					+ String.valueOf(request.getAttribute(RequestDispatcher.FORWARD_REQUEST_URI)) + "]");
-
-				return mav;
+				return "error/404";
+			} else if (statusCode == GagaResponseStatus.UNAUTHORIZED.getCode()) {
+				return "error/nosession";
 			}
 		}
 
-		mav.addObject("status", GagaResponseStatus.INTERNAL_SERVER_ERROR.getCode());
-		mav.addObject("message", String.valueOf(request.getAttribute(RequestDispatcher.ERROR_MESSAGE)));
-
-		return mav;
-	}
-
-	@GetMapping("/noSession")
-	public ModelAndView noSession(HttpServletRequest request) throws HttpRequestMethodNotSupportedException {
-		ModelAndView mav = new ModelAndView("error/500");
-
-		mav.addObject("status", GagaResponseStatus.UNAUTHORIZED.getCode());
-		mav.addObject("message", String.valueOf(request.getAttribute(RequestDispatcher.ERROR_MESSAGE)));
+		log.error("Error Message: {}", request.getAttribute(RequestDispatcher.ERROR_MESSAGE));
 
-		return mav;
+		return "error/500";
 	}
 
 }

+ 3 - 2
src/main/java/com/style24/admin/support/interceptor/TsaDefaultInterceptor.java

@@ -14,11 +14,11 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
 import com.style24.admin.biz.service.TsaSystemService;
 import com.style24.admin.support.security.session.TsaSession;
-import com.style24.core.support.exception.TscNoSessionException;
 import com.style24.core.support.message.TscMessageByLocale;
 
 import lombok.extern.slf4j.Slf4j;
 
+import com.gagaframework.web.rest.server.GagaResponseStatus;
 import com.gagaframework.web.util.GagaCookieUtil;
 
 /**
@@ -56,7 +56,8 @@ public class TsaDefaultInterceptor extends HandlerInterceptorAdapter {
 				// Ajax call은 status 세팅 후 ajax.status == 901일 경우 로그인 페이지로 이동 처리
 				response.setStatus(901); // No Session
 			} else { // Submit
-				throw new TscNoSessionException(message.getMessage("LOGN_0003"));
+//				throw new TscNoSessionException(message.getMessage("LOGN_0003"));
+				response.sendError(GagaResponseStatus.UNAUTHORIZED.getCode(), message.getMessage("LOGN_0003"));
 			}
 
 			return false;

+ 4 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsaWithdraw.xml

@@ -688,14 +688,16 @@
 				, D.ITEM_CD  AS GOODS_CD -- 상품코드
 				, D.OPT_CD1 -- 옵션1 
 				, D.OPT_CD2 -- 옵션2
-				, B.CHG_QTY * D.ITEM_QTY AS CHG_QTY-- 신청수량 
+				-- , B.CHG_QTY * D.ITEM_QTY AS CHG_QTY-- 신청수량 
+				, B.CHG_QTY AS CHG_QTY-- 신청수량 
 				, G.WD_QTY -- 회수수량 
 				, CASE WHEN B.CHG_STAT = 'G685_60' THEN '환불완료' ELSE '환불대기' END AS WD_STAT  -- 환불컨펌상태 
 				, CASE WHEN B.CHG_STAT = 'G685_60' THEN 'Y' ELSE 'N' END AS WD_STAT_YN   
 				, A.ORD_CHG_SQ -- 주분변경번호 환불컨펌  
 				, DATE_FORMAT(G.REG_DT, '%Y-%m-%d') AS REG_DT  -- 등록일 
 				, E.MALL_GB 
-				, (SELECT SUM((OD.ORD_QTY - OD.CNCL_RTN_QTY) * DI.ITEM_QTY)  FROM TB_ORDER_DETAIL OD JOIN TB_ORDER_DETAIL_ITEM DI ON OD.ORD_NO = DI.ORD_NO AND OD.ORD_DTL_NO = DI.ORD_DTL_NO WHERE OD.ORD_NO= E.ORD_NO AND OD.ORD_DTL_STAT NOT IN ('G013_00','G013_97','G013_98','G013_99')) AS  TOTAL_ORD_QTY -- 주문 총수량  
+ 				-- , (SELECT SUM((OD.ORD_QTY - OD.CNCL_RTN_QTY) * DI.ITEM_QTY)  FROM TB_ORDER_DETAIL OD JOIN TB_ORDER_DETAIL_ITEM DI ON OD.ORD_NO = DI.ORD_NO AND OD.ORD_DTL_NO = DI.ORD_DTL_NO WHERE OD.ORD_NO= E.ORD_NO AND OD.ORD_DTL_STAT NOT IN ('G013_00','G013_97','G013_98','G013_99')) AS  TOTAL_ORD_QTY -- 주문 총수량  
+				, (SELECT SUM(OD.ORD_QTY) FROM TB_ORDER_DETAIL OD WHERE OD.ORD_NO= E.ORD_NO) AS  TOTAL_ORD_QTY -- 주문 총수량
 				, CASE WHEN (SELECT COUNT(*) FROM TB_ORDER_RECALL_EXCEPTION_ITEM EI  WHERE EI.ORDER_DTL_NO = D.ORD_DTL_NO AND EI.REASON_CODE IN('09','11')) > 0 THEN 'Y' ELSE 'N' END AS DELV_EXPN_YN
 				, CA.RA_NO AS ACCOUNT_NO 
 				, CA.RA_NM AS ACCOUNT_NM 

+ 10 - 8
src/main/resources/config/application.yml

@@ -12,15 +12,17 @@ spring:
             max-file-size: 30MB
             max-request-size: 30MB
 
-server.site.name: bos
-
-server.error.whitelabel.enabled: false
+server:
+    error:
+        path: /error #오류 응답을 처리할 Handler의 경로
+        whitelabel.enabled: false
+#    servlet:
+#        session:
+#            cookie:
+#                name: WSESSIONID
+#                secure: true
 
-# Instagram
-instagram:
-    api.url: https://api.instagram.com/v1
-    api.method: https://graph.instagram.com/[userId]/media?fields=id,media_type,media_url,permalink,thumbnail_url,username,caption,timestamp
-    token.url: https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token
+server.site.name: bos
 
 # 네이버 API
 naver:

+ 55 - 0
src/main/webapp/WEB-INF/views/error/404.html

@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="common/layout/error">
+<!--
+ *******************************************************************************
+ * @source  : 404.html
+ * @desc    : 404 Error Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.08.20   gagamel     최초 작성
+ *******************************************************************************
+ -->
+<head>
+	<title>404 Error</title>
+</head>
+
+<body>
+
+<div layout:fragment="content">
+	<div class="errImg">
+		<div>
+			<i class="fa fa-television" aria-hidden="true"></i>
+			<i class="fa fa-info" aria-hidden="true"></i>
+		</div>
+	</div>
+	<ul class="errTxt">
+		<li class="ttl">원하시는 페이지를 찾을 수가 없습니다.</li>
+		<li class="cont">
+			주소가 잘못 입력되었거나, 변경 혹은 삭제되어<br/>
+			요청하신 페이지를 찾을 수가 없습니다.<br/>
+			입력하신 주소가 정확한지 다시 한 번 확인해 주시기 바랍니다.
+		</li>
+		<li class="tel">
+			문의 : 크리스F&C(주) 고객센터 (080-001-1270)
+		</li>
+	</ul>
+	<div class="errBtn">
+		<a href="#" th:href="@{/}" class="btn">Home</a>
+	</div>
+
+<script type="text/javascript">
+/*<![CDATA[*/
+/*]]>*/
+</script>
+
+</div>
+
+</body>
+</html>

+ 8 - 6
src/main/webapp/WEB-INF/views/error/500.html

@@ -8,12 +8,12 @@
  * @source  : 500.html
  * @desc    : 500 Error Page
  *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
+ * CREAS
+ * Copyright(C) 2021 TSIT, All rights reserved.
  *============================================================================
  * VER  DATE         AUTHOR      DESCRIPTION
  * ===  ===========  ==========  =============================================
- * 1.0  2020.10.06   gagamel     최초 작성
+ * 1.0  2021.08.20   gagamel     최초 작성
  *******************************************************************************
  -->
 <head>
@@ -30,12 +30,14 @@
 		</div>
 	</div>
 	<ul class="errTxt">
-		<li class="ttl" th:text="${message}">Internal Server Error</li>
+		<li class="ttl">서비스 이용이 원활하지 않습니다.</li>
 		<li class="cont">
-			서버가 요청을 완료할 수 없는 예기치 않은 오류가 발생했습니다.
+			기술적인 문제로 인해 예기치 않은 오류가 발생했습니다.<br/>
+			서비스 이용에 불편을 끼쳐 드려 죄송합니다.<br/>
+			잠시 후 해당 서비스를 이용해 주시기 바랍니다.
 		</li>
 		<li class="tel">
-			문의 : 스타일24(주) 고객센터 (1544-5336)
+			문의 : 크리스F&C(주) 고객센터 (080-001-1270)
 		</li>
 	</ul>
 	<div class="errBtn">

+ 54 - 0
src/main/webapp/WEB-INF/views/error/nosession.html

@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+	layout:decorator="common/layout/error">
+<!--
+ *******************************************************************************
+ * @source  : nosessioin.html
+ * @desc    : No Session Error Page
+ *============================================================================
+ * STYLE24
+ * Copyright(C) 2021 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.08.20   gagamel     최초 작성
+ *******************************************************************************
+ -->
+<head>
+	<title>No Session Error</title>
+</head>
+
+<body>
+
+<div layout:fragment="content">
+	<div class="errImg">
+		<div>
+			<i class="fa fa-television" aria-hidden="true"></i>
+			<i class="fa fa-info" aria-hidden="true"></i>
+		</div>
+	</div>
+	<ul class="errTxt">
+		<li class="ttl">세션 만료</li>
+		<li class="cont">
+			세션이 만료되어 서비스 이용이 불가능합니다.<br/>
+			로그인 후 서비스를 이용해 주시기 바랍니다.
+		</li>
+		<li class="tel">
+			문의 : 크리스F&C(주) 고객센터 (080-001-1270)
+		</li>
+	</ul>
+	<div class="errBtn">
+		<a href="#" th:href="@{/}" class="btn">Home</a>
+	</div>
+
+<script type="text/javascript">
+/*<![CDATA[*/
+/*]]>*/
+</script>
+
+</div>
+
+</body>
+</html>

+ 10 - 2
src/main/webapp/WEB-INF/views/withdraw/RefundDetailForm.html

@@ -513,9 +513,13 @@
 			var leftGfcdUseAmt = spanGfcdUseAmt;
 
 			// 총 주문수량  =  반품수량
+			console.log('toTalOrdQty : ' + toTalOrdQty);
+			console.log('ordChgQty : ' + ordChgQty);
 			if (toTalOrdQty == ordChgQty) {
+				console.log('allCan');
 				// 귀책사유고객
 				if (isCustomer) {
+					console.log('allCan>customer');
 					// 회수요청
 					if (wdGb == "W") { 
 						// 환불금액  = 취소 상품 실결제 금액 + 배송비 - 추가배송비 - 반품배송비 
@@ -566,7 +570,8 @@
 					addDelvFee = leftDelvFee;
 				} 
 				// 회사귀책
-				else { 
+				else {
+					console.log('allCan>company');
 					if (spanSumDeliveryFee > 0) {
 						addDeliveryFee = spanSumDeliveryFee - spanDelvCpnDcAmt;
 						addDeliveryFeeYn = "Y";
@@ -581,8 +586,10 @@
 			} 
 			// 총 주문수량  <>  반품수량
 			else {
+				console.log('notAllCan');
 				// 고객귀책
-				if (isCustomer) {  
+				if (isCustomer) {
+					console.log('notallCan>customer');
 					// 회수요청
 					if (wdGb == "W") {
 						if (Number(enCloseFee) > 0) {
@@ -634,6 +641,7 @@
 				} 
 				// 회사귀책
 				else {
+					console.log('allCan>company');
 					// 2021.07.02 환불컨펌 환불금액계산
 					// 환불금액  = (취소상품실결제금액)
 					refundAmt = spanRealCnclRtnAmt;

+ 0 - 68
src/main/webapp/ux/plugins/gaga/gaga.alert.js

@@ -1,68 +0,0 @@
-/*
- * Alert, Confirm Java Script written by gagamel.
- *
- * Copyright (c) 2010 gagamel
- * Dual licensed under GPL (GPL-LICENSE.txt) licenses.
- *
- * $Date: 2019-07-01 $
- */
-
-var gagaAlert = {
-	obj : {
-		message : '',
-		callback : '',
-		cancelCallback : ''
-	},
-	
-	show : function(type, message) {
-		var liTag = '<ul class="popup modal" data-width="350" style="min-width: 350px;">\n';
-		liTag += '		<li class="mdPopContent">' + message + '</li>\n';
-		liTag += '		<li class="mdPopBtnB aR">\n';
-		liTag += '			<button id="okBtn" type="button" class="btn btn-primary btn-lg" onclick="gagaAlert.ok();">확인</button>\n';
-		
-		if (type == 'confirm') {
-			liTag += '			<button type="button" class="btn btn-dark btn-lg" onclick="gagaAlert.cancel();">취소</button>\n';
-		}
-		
-		liTag += '		</li>\n';
-		liTag += '	</ul>\n';
-
-		if ($('#customAlert').length == 0) {
-			var tag = '<div class="popupWrap bgTrans" id="customAlert" style="z-index:900;">\n';
-			tag += liTag;
-			tag += '</div>';
-			$('body').append(tag);
-		} else {
-			$('#customAlert').append(liTag);
-		}
-		uifnMpopup('customAlert');
-		$("#okBtn").attr("tabindex", -1).focus();
-	},
-	
-	alert : function(message,callback) {
-		this.obj.callback = null;
-		gagaAlert.show('alert', message);
-		this.obj.callback = callback;
-	},
-	
-	confirm : function(message, callback, cancelCallback) {
-		gagaAlert.show('confirm', message);
-		this.obj.callback = callback;
-		this.obj.cancelCallback = cancelCallback;
-	},
-	
-	ok : function() {
-		uifnPopClose('customAlert');
-		if (typeof(this.obj.callback) != undefined && typeof(this.obj.callback) == 'function' && this.obj.callback != null ) {
-			this.obj.callback('abc');
-		}
-	},
-	
-	cancel : function() {
-		uifnPopClose('customAlert');
-		if (typeof(this.obj.cancelCallback) != undefined && typeof(this.obj.cancelCallback) == 'function' && this.obj.cancelCallback != null ) {
-			this.obj.cancelCallback('abc');
-		}
-	}
-	
-}

+ 0 - 73
src/main/webapp/ux/plugins/gaga/gaga.se2.js

@@ -1,73 +0,0 @@
-/*
- * Smart Editor Java Script written by gagamel.
- *
- * Copyright (c) 2010 gagamel
- * Dual licensed under GPL (GPL-LICENSE.txt) licenses.
- *
- * $Date: 2019-07-02 $
- * 
- * 사용 예)
- * 		// HTML 태그는 textarea로 구성
- * 		// id는 gagaSe2.createSmartEditor 함수 호출 시에 넘겨줘야 한다.
- * 		<textarea name="contentKorWeb" id="contentKorWeb" rows="5" cols="50" style="width: 100%; height: 400px;"></textarea>
- * 
- * 		// Import할 자바스크립트 파일
- * 		<script type="text/javascript" src="/se2/js/service/HuskyEZCreator.js?v=2019070211"></script>
- *		<script type="text/javascript" src="/ux/plugins/gaga/gaga.se2.js?v=2019070222"></script>
- *
- * 		<script type="text/javascript">
- * 			// Get a SmartEditor2 options
- * 			var se2Options = gagaSe2.getEditorOptions();
- * 
- * 			$(document).ready(function() {
- * 				// Create a SmartEditor2
- * 				gagaSe2.createSmartEditor(se2Options, 'contentKorWeb');
- * 			});
- * 		</script>
- */
-
-var gagaSe2 = {
-	obj : {
-		oEditors : []
-	},
-	
-	/**
-	 * Get a Smart Editor options
-	 */
-	getEditorOptions : function() {
-		return {
-				oAppRef: this.obj.oEditors,
-				sSkinURI: '/se2/SmartEditor2Skin.html',
-				htParams : {
-					bUseToolbar : true, // 툴바사용
-					bUseVerticalResizer : true, // 입력창크기조절바사용
-					bUseModeChanger : true, // 모드탭(Editor|HTML|TEXT)사용
-//					bSkipXssFilter : true, // client-side xss filter 무시
-//					aAdditionalFontList : aAdditionalFontSet, // 추가 글꼴 목록
-					fOnBeforeUnload : function() {
-					}
-				},
-				fCreator: 'createSEditor2'
-		};
-	},
-	
-	/**
-	 * Create a Smart Editor
-	 * @param editorId - 에디터 ID
-	 */
-	createSmartEditor : function(editorOptions, editorId) {
-		editorOptions.elPlaceHolder = editorId;
-		nhn.husky.EZCreator.createInIFrame(editorOptions);
-	},
-	
-	/**
-	 * 스마트에디터에 입력한 내용이 editorId로 지정된 textarea에 설정되고,
-	 * textarea에 설정된 값을 반환한다.
-	 * @param editorId - 에디터 ID
-	 */
-	getContents : function(editorId) {
-		this.obj.oEditors.getById[editorId].exec("UPDATE_CONTENTS_FIELD", []);
-		return document.getElementById(editorId).value;
-	}
-	
-}

+ 0 - 129
src/main/webapp/ux/plugins/gaga/gaga.smarteditor.js

@@ -1,129 +0,0 @@
-/*
- * Smart Editor Java Script written by gagamel.
- *
- * Copyright (c) 2010 gagamel
- * Dual licensed under GPL (GPL-LICENSE.txt) licenses.
- *
- * $Date: 2019-07-02 $
- *
- * 사용 예)
- * 		// HTML 태그는 textarea로 구성
- * 		// id는 gagaSe.createSmartEditor 함수 호출 시에 넘겨줘야 한다.
- * 		<textarea name="contentKorWeb" id="contentKorWeb" rows="5" cols="50" style="width: 100%; height: 400px;"></textarea>
- *
- * 		// Import할 자바스크립트 파일
- * 		<script type="text/javascript" src="/smartEditor/js/HuskyEZCreator.js?v=2019070303" charset="utf-8"></script>
- * 		<script type="text/javascript" src="/ux/plugins/gaga/gaga.smarteditor.js?v=2019070301"></script>
- *
- * 		<script type="text/javascript">
- * 			// Get a SmartEditor options
- * 			var seOptions = gagaSe.getEditorOptions();
- *
- * 			$(document).ready(function() {
- * 				// Create a SmartEditor
- * 				gagaSe.createSmartEditor(seOptions, 'contentKorWeb');
- * 			});
- * 		</script>
- */
-
-var gagaSe = {
-	obj : {
-		oEditors : []
-	},
-
-	/**
-	 * Get a Smart Editor options
-	 */
-	getEditorOptions : function() {
-		return {
-				oAppRef: this.obj.oEditors,
-				sSkinURI: '/smartEditor/SEditorSkin.html',
-				htParams : {
-					bUseToolbar : true, // 툴바사용
-					bUseVerticalResizer : true, // 입력창크기조절바사용
-					bUseModeChanger : true, // 모드탭(Editor|HTML|TEXT)사용
-					fOnBeforeUnload : function() {
-					}
-				},
-
-				fCreator: 'createSEditorInIFrame'
-		};
-	},
-
-	/**
-	 * Create a Smart Editor
-	 * @param editorId - 에디터 ID
-	 */
-	createSmartEditor : function(editorOptions, editorId) {
-		editorOptions.elPlaceHolder = editorId;
-		nhn.husky.EZCreator.createInIFrame(editorOptions);
-	},
-
-	/**
-	 * 스마트에디터에 입력한 내용이 editorId로 지정된 textarea에 설정되고,
-	 * textarea에 설정된 값을 반환한다.
-	 * @param editorId - 에디터 ID
-	 */
-	getContents : function(editorId) {
-		this.obj.oEditors.getById[editorId].exec("UPDATE_IR_FIELD", []);
-		return document.getElementById(editorId).value;
-	},
-
-	setContents : function(editorId, content) {
-		var newContent = "";
-		if (content != null) {
-			newContent = content.replaceAll("&lt;", "<").replaceAll("&gt;",">").replaceAll("&quot;","\"");
-		}
-
-		try {
-			this.obj.oEditors.getById[editorId].exec("SET_IR", [newContent]);
-		} catch(e) {
-			$('#'+editorId).val(newContent);
-		}
-	},
-
-	/**
-	 * @type   : function
-	 * @access : public
-	 * @desc   : 스마트에디터 유효성 검사
-	 * <pre>
-	 *     gagaSe.getContents('contentKorWeb');
-	 *     getContents 를 먼저 해줘야 textarea에 스마트에디터 내용이 들어간다.
-	 *     if (!gagaSe.validationCheck($('#registerwebKorViewYn') , $('#contentKorWeb'))) return;
-	 *     또는
-	 *     if (!gagaSe.validationCheck($('#detailForm input:checkbox[name=webKorViewYn]') , $('#detailForm textarea[name=contentKorWeb]'))) return;
-	 * </pre>
-	 * @param  : elTarget - 국가/디바이스 스마트에디터(필수)
-	 * @param  : elCheck - 국가/디바이스 체크박스(옵션)
-	 * @since  : 2019/08/21
-	 * @author : rladbwnd5
-	 */
-	validationCheck : function(elTarget, elCheck) {
-		if (elTarget.prop('tagName') != 'TEXTAREA') {
-			mcxDialog.alert('파라메터 입력 오류');
-			console.log('입력하신 파라메터는 ' + elTarget.prop('tagName') + '입니다. textarea를  입력하세요.');
-			return false;
-		}
-
-		var checkStr = $(elTarget).val().replaceAll("<p>", "").replaceAll("</p>","").replaceAll("<br>","").replaceAll("<span style=\"white-space:pre\">","").replaceAll("&nbsp;","").replaceAll("</span>","");
-		var checked = $(elCheck).is(":checked") ? true : false;
-
-		if (checked) {
-			if (gagajf.isNull(checkStr)) {
-				var TargetNm = $(elCheck)[0].labels[0].textContent;
-				mcxDialog.alert(TargetNm + '에 체크된 내용을 입력하세요.');
-				return false;
-			}
-		} else {
-			if (elCheck == null) {
-				if (gagajf.isNull(checkStr)) {
-					mcxDialog.alert('내용을 입력하세요.');
-					return false;
-				}
-			}
-		}
-
-		return true;
-	}
-
-}

+ 5 - 5
src/main/webapp/ux/plugins/gaga/gaga.validation.js

@@ -595,7 +595,7 @@ var gagajf = {
 					mcxDialog.alertC('세션이 없습니다. 로그인 페이지로 이동합니다.', {
 						sureBtnText: "확인",
 						sureBtnClick: function() {
-							document.location.href = "/error/noSession";
+							document.location.href = "/";
 						}
 					});
 				}
@@ -672,7 +672,7 @@ var gagajf = {
 					mcxDialog.alertC('세션이 없습니다. 로그인 페이지로 이동합니다.', {
 						sureBtnText: "확인",
 						sureBtnClick: function() {
-							document.location.href = "/error/noSession";
+							document.location.href = "/";
 						}
 					});
 				}
@@ -756,7 +756,7 @@ var gagajf = {
 					mcxDialog.alertC('세션이 없습니다. 로그인 페이지로 이동합니다.', {
 						sureBtnText: "확인",
 						sureBtnClick: function() {
-							document.location.href = "/error/noSession";
+							document.location.href = "/";
 						}
 					});
 				}
@@ -838,7 +838,7 @@ var gagajf = {
 					mcxDialog.alertC('세션이 없습니다. 로그인 페이지로 이동합니다.', {
 						sureBtnText: "확인",
 						sureBtnClick: function() {
-							document.location.href = "/error/noSession";
+							document.location.href = "/";
 						}
 					});
 				}
@@ -906,7 +906,7 @@ var gagajf = {
 					mcxDialog.alertC('세션이 없습니다. 로그인 페이지로 이동합니다.', {
 						sureBtnText: "확인",
 						sureBtnClick: function() {
-							document.location.href = "/error/noSession";
+							document.location.href = "/";
 						}
 					});
 				}