• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account settings Log out
  • Favorite
  • Project
  • All
Loading...
  • Log in
  • Sign up
chominsoo4245 / mjon_git star
Forked from hylee / mjon_git
  • Project homeH
  • CodeC
  • IssueI
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB
  • Files
  • Commit
  • Branches
mjon_gitsrcmainwebappWEB-INFjspagentMjonMsgAgentStsUpdate.jsp
Download as .zip file
File name
Commit message
Commit date
DATABASE
mjon_git
2023-06-12
src/main
회원상세 팝업 문자종류 수정
2023-10-05
.codetogether.ignore
mjon_git
2023-06-12
.gitignore
gitignore 적용
2023-06-12
pom.xml
mjon_git
2023-06-12
File name
Commit message
Commit date
java
문자 슬랙 알림 기능 수정 - 예약 문자 발송시 스미싱 의심 안내 태그 표시기능 추가
2023-10-04
resources
주소록 단일등록시 번호중복 체크로직 보완
2023-09-18
webapp
회원상세 팝업 문자종류 수정
2023-10-05
File name
Commit message
Commit date
META-INF
mjon_git
2023-06-12
MMS
mjon_git
2023-06-12
WEB-INF
회원상세 팝업 문자종류 수정
2023-10-05
common
mjon_git
2023-06-12
crosseditor/binary/images
mjon_git
2023-06-12
css
mjon_git
2023-06-12
direct
mjon_git
2023-06-12
dist
mjon_git
2023-06-12
download
mjon_git
2023-06-12
font-flexslider
mjon_git
2023-06-12
fonts
mjon_git
2023-06-12
html
mjon_git
2023-06-12
images
mjon_git
2023-06-12
img
mjon_git
2023-06-12
js
이지우 - 사용자 카카오 템플릿 미리보기 원복 (text > html)
2023-07-24
mail
mjon_git
2023-06-12
mjon/MMS
mjon_git
2023-06-12
pb
2023/07/31 관리자 cs 페이지
2023-07-31
publish
2023/09/27 메인비주얼 변경
2023-09-27
sample_mjon
feat:PHP 예제 코드 추가
2023-08-11
site
mjon_git
2023-06-12
google53cfb10eb3856530.html
mjon_git
2023-06-12
googlefa7d697b23d4a34a.html
mjon_git
2023-06-12
imageEditorSample.html
mjon_git
2023-06-12
imageEditorSample2.html
mjon_git
2023-06-12
index.jsp
mjon_git
2023-06-12
naver94c82af5badbae52b1e46e77b88410c9.html
mjon_git
2023-06-12
robots.txt
일부항목 제거
2023-09-26
sendRESTAPI_test_r1_send.jsp
feat : [API]발송가능건수 URI selectPrice -> price 로 수정 /// 예제 다운로드 완료
2023-06-22
sitemap.xml
mjon_git
2023-06-12
tempPayPrint.html
mjon_git
2023-06-12
tempPrint.html
mjon_git
2023-06-12
tempPrint1.html
mjon_git
2023-06-12
test.jsp
커밋 테스트
2023-06-12
File name
Commit message
Commit date
META-INF
mjon_git
2023-06-12
config/egovframework/springmvc
mjon_git
2023-06-12
jsp
회원상세 팝업 문자종류 수정
2023-10-05
lib
mjon_git
2023-06-12
tld
mjon_git
2023-06-12
decorators.xml
발신번호 첨부파일 뷰어 기능 추가
2023-08-02
jeus-web-dd.xml
mjon_git
2023-06-12
sitemesh.xml
mjon_git
2023-06-12
web.xml
이지우 - web.xml 에러페이지 리다이렉트 설정에 400, 401, 403 유형 추가
2023-07-18
weblogic.xml
mjon_git
2023-06-12
File name
Commit message
Commit date
agent
알림톡 발송차단 기능 추가
2023-07-10
block
mjon_git
2023-06-12
cmm
회원상세 팝업 문자종류 수정
2023-10-05
cnt
mjon_git
2023-06-12
cntsource
mjon_git
2023-06-12
com/utl/wed
mjon_git
2023-06-12
cop
이지우 - SW 취약점 조치. 사용하지 않는 백업 파일 삭제
2023-08-31
egovframework/com/uss/ion/bnr
mjon_git
2023-06-12
kisa/kisa
mjon_git
2023-06-12
kopost/search
mjon_git
2023-06-12
layout
주소록 대량등록 성능개선(브라우저 응답없음 창 노출안되도록 로딩바 처리)
2023-06-14
letter
베스트 문자샘플 상세 순서 기능 수정
2023-09-06
main
대시보드 관리자로그관리 성능개선
2023-07-24
sec
mjon_git
2023-06-12
sts/cst
mjon_git
2023-06-12
sym
관리자방문수 관리 쿼리 성능개선, 기간검색 시작일 초기값 설정 추가
2023-09-13
uat
mjon_git
2023-06-12
uss
관리자 문자, 알림톡 전송내역에 지연문자 발송승인, 승인취소 기능 추가
2023-09-21
web
메인비주얼 수정
2023-10-04
blank.jsp
mjon_git
2023-06-12
cntCNT_000000000862.jsp
mjon_git
2023-06-12
File name
Commit message
Commit date
MjonMsgAgentSend.jsp
mjon_git
2023-06-12
MjonMsgAgentStsMultiUpdate.jsp
알림톡 발송차단 기능 추가
2023-07-10
MjonMsgAgentStsUpdate.jsp
mjon_git
2023-06-12
hylee 2023-06-12 785e892 mjon_git UNIX
Raw Open in browser Change history
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>문자발송 전송 Agent 상태 관리</title> <script type="text/javascript"> function doUpdate(agentCode, type) { var form = document.modiForm; var updtYn = $('#useYn_'+agentCode+'_'+type).val(); // 사용여부 var agentRate = $('#agentRate_'+agentCode+'_'+type).val(); // 사용비율 var repAgent = $('input[name="repAgent_'+type+'"]:checked').val(); // 대표전송사 설정 var agentPrice = $('#agentPrice_'+agentCode+'_'+type).val(); // 사용비율 form.agentCode.value = agentCode; form.sendRate.value = agentRate; form.useYn.value = updtYn; form.msgType.value = type; form.repAgent.value = repAgent; form.agentPrice.value = agentPrice; form.action = "/let/mjo/msgagent/updateMjonMsgAgentStsData.do"; // 비활성화 상태 적용전에 대표전송사 여부 확인 if(updtYn == "N"){ if(repAgent == agentCode){ alert("대표전송사는 미사용으로 변경이 불가능 합니다. \n대표전송사를 변경 후 진행해 주세요") return; } } if (!confirm('수정 후 문자타입별 전송사 배분률이 100%가 되어야 합니다. \n수정하시겠습니까? ')) return; form.submit(); } function doInsert(){ var form = document.modiForm; var agentCode = $("#selectAgentCode").val(); var msgType = $("#selectMsgType").val(); var agentRate = $("#inputAgentRate").val(); if(agentRate == ""){ alert("문자발송 비율을 입력해주세요"); $("#inputAgentRate").focus(); return false; } if (!confirm('등록하시겠습니까?')){ return false; } form.agentCode.value = agentCode; form.msgType.value = msgType; form.sendRate.value = agentRate; var data = new FormData(form); $.ajax({ url : "<c:url value='/let/mjo/msgagent/insertMjonMsgAgentStsDataAjax.do'/>" , type : 'POST' , data : data , dataType:'json' , async: false , processData: false , contentType: false , cache: false , success: function (returnData, status) { if(returnData.result == "fail") {//차단 발신번호인 경우 등록 불가 alert(returnData.message); return false; }else{ window.location.reload() } } ,error : function(request , status, error){ alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); } }); } function doUpdateConf(confCodeId) { var form = document.confForm; var confCode = $("#confCode").val(); if (!confirm('문자발송 사용여부는 전송사 비율과 상관없이\n사용자 문자 발송 사용여부가 일괄 적용됩니다.(주의)\n\n수정 하시겠습니까?')){ return false; } form.confCodeId.value = confCodeId; form.confCode.value = confCode; var data = new FormData(form); $.ajax({ url : "<c:url value='/let/mjo/conf/updateMjonConfAjax.do'/>" , type : 'POST' , data : data , async: false , processData: false , contentType: false , cache: false , success: function (returnData, status) { if(returnData.result == "fail") { alert(returnData.message); return false; }else{ alert("수정 완료하였습니다."); } } ,error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); } }); } </script> </head> <body> <form id="modiForm" name="modiForm" method="post"> <input type="hidden" id="agentCode" name="agentCode" value=""/> <!-- 전송사 코드 --> <input type="hidden" id="msgType" name="msgType" value=""/> <!-- 메세지 타입(단문, 장문, 그림) --> <input type="hidden" id="sendRate" name="sendRate" value=""/> <!-- 전송비율 --> <input type="hidden" id="useYn" name="useYn" value=""/> <!-- 사용여부 --> <input type="hidden" id="repAgent" name="repAgent" value=""/> <!-- 대표전송사 --> <input type="hidden" id="agentPrice" name="agentPrice" value=""/> <!-- 전송사 단가 --> </form> <form name="confForm" id="confForm" method="post"> <input type="hidden" name="confCodeId" value="" /> <input type="hidden" name="confCode" value="" /> </form> <div class="contWrap"> <div class="pageTitle"> <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> <h2 class="titType1 c_222222 fwBold">문자발송 전송 Agent 상태 관리</h2> <p class="tType6 c_999999">문자발송 전송 Agent 상태 관리 페이지 입니다.</p> </div> <div class="pageCont"> <div class="listTop"> <span class="tType4 c_456ded fwBold"> <p>문자 발송율은 총 합이 100%가 되도록 맞춰주시기 바랍니다.</p> </span> </div> <div class="tableWrap"> <table class="tbType2"> <colgroup> <col width="30%"> <col width="*"> </colgroup> <tbody> <tr> <th> <select id="selectAgentCode" name="selectAgentCode"> <c:forEach var="result" items="${frwrdAgent}" varStatus="status"> <option value="${result.code}"><c:out value='${result.codeNm}'/></option> </c:forEach> </select> </th> <td> 문자종류&nbsp;:&nbsp; <select id="selectMsgType" name="selectMsgType"> <option value="S">단문</option> <option value="L">장문</option> <option value="P">그림</option> </select> <input type="number" id="inputAgentRate" name="inputAgentRate" value="" style="width:20px;"/> &nbsp;% &nbsp;&nbsp; <input type="button" class="btnType1" value="추가" onclick="javascript:doInsert(); return false;"> </td> </tr> </tbody> </table> </div> <br> <div class="listTop"> <span class="tType4 c_e40000 fwBold"> <p >문자발송 사용여부 - 전송사 비율과 상관없이, 사용자 문자 발송 사용여부 일괄 적용(주의)</p> </span> </div> <div class="tableWrap"> <table class="tbType2"> <colgroup> <col width="30%"> <col width="*"> </colgroup> <tbody> <tr> <th> 문자발송 사용여부 </th> <td> <ec:select codeId="CONF01" name="confCode" id="confCode" css="class='select'" selectedValue="${confVO.confCode}" /> <input type="button" class="btnType1" value="수정" onclick="javascript:doUpdateConf('CONF01'); return false;"> </td> </tr> </tbody> </table> </div> <br> <div class="listTop"> <p class="tType5">단문</p> </div> <div class="tableWrap"> <table class="tbType2"> <colgroup> <col width="30%"> <col width="15%"> <col width="*"> </colgroup> <tbody> <c:forEach var="result" items="${agentList}" varStatus="status"> <c:if test="${result.msgType eq 'S'}"> <tr> <th> <c:forEach var="frwrdAgent" items="${frwrdAgent}" varStatus="status"> <c:if test="${result.agentCode eq frwrdAgent.code }"> <span style="flat:left;line-height:42.5px;"> <c:out value='${frwrdAgent.codeNm}'/> </span> </c:if> </c:forEach> <span style="float:right;"> 단가 : <input type="text" style="width:50px;min-width:auto;padding:0 10px;" id="agentPrice_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="agentPrice_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="<c:out value='${result.agentPrice}'/>"/> 원 </span> </th> <td> <c:choose> <c:when test="${result.agentCode == '01'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="01" <c:if test="${result.repAgent eq '01'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '02'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="02" <c:if test="${result.repAgent eq '02'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '03'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="03" <c:if test="${result.repAgent eq '03'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '04'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="04" <c:if test="${result.repAgent eq '04'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '05'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="05" <c:if test="${result.repAgent eq '05'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '07'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="07" <c:if test="${result.repAgent eq '07'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> </c:choose> </td> <td> <select id="useYn_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="useYn_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>"> <option value="Y" <c:if test="${result.useYn == 'Y'}">selected</c:if> >사용</option> <option value="N" <c:if test="${result.useYn == 'N'}">selected</c:if> >미사용</option> </select> <input type="text" id="agentRate_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="agentRate_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="<c:out value='${result.sendRate}'/>" style="width:20px;"/>&nbsp;% &nbsp;&nbsp; <input type="button" class="btnType1" value="수정" onclick="javascript:doUpdate('<c:out value="${result.agentCode}"/>','S'); return false;"> </td> </tr> </c:if> </c:forEach> </tbody> </table> </div> <div class="listTop"> <p class="tType5">장문</p> </div> <div class="tableWrap"> <table class="tbType2"> <colgroup> <col width="30%"> <col width="15%"> <col width="*"> </colgroup> <tbody> <c:forEach var="result" items="${agentList}" varStatus="status"> <c:if test="${result.msgType eq 'L'}"> <tr> <th> <c:forEach var="frwrdAgent" items="${frwrdAgent}" varStatus="status"> <c:if test="${result.agentCode eq frwrdAgent.code }"> <span style="flat:left;line-height:42.5px;"><c:out value='${frwrdAgent.codeNm}'/></span> </c:if> </c:forEach> <span style="float:right;"> 단가 : <input type="text" style="width:50px;min-width:auto;padding:0 10px;" id="agentPrice_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="agentPrice_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="<c:out value='${result.agentPrice}'/>"/> 원 </span> </th> <td> <c:choose> <c:when test="${result.agentCode == '01'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="01" <c:if test="${result.repAgent eq '01'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '02'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="02" <c:if test="${result.repAgent eq '02'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '03'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="03" <c:if test="${result.repAgent eq '03'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '04'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="04" <c:if test="${result.repAgent eq '04'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '05'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="05" <c:if test="${result.repAgent eq '05'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '07'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="07" <c:if test="${result.repAgent eq '07'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> </c:choose> </td> <td> <select id="useYn_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="useYn_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>"> <option value="Y" <c:if test="${result.useYn == 'Y'}">selected</c:if> >사용</option> <option value="N" <c:if test="${result.useYn == 'N'}">selected</c:if> >미사용</option> </select> <input type="text" id="agentRate_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="agentRate_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="<c:out value='${result.sendRate}'/>" style="width:20px;"/>&nbsp;% &nbsp;&nbsp; <input type="button" class="btnType1" value="수정" onclick="javascript:doUpdate('<c:out value="${result.agentCode}"/>','L'); return false;"> </td> </tr> </c:if> </c:forEach> </tbody> </table> </div> <div class="listTop"> <p class="tType5">그림</p> </div> <div class="tableWrap"> <table class="tbType2"> <colgroup> <col width="30%"> <col width="15%"> <col width="*"> </colgroup> <tbody> <c:forEach var="result" items="${agentList}" varStatus="status"> <c:if test="${result.msgType eq 'P'}"> <tr> <th> <c:forEach var="frwrdAgent" items="${frwrdAgent}" varStatus="status"> <c:if test="${result.agentCode eq frwrdAgent.code }"> <span style="flat:left;line-height:42.5px;"><c:out value='${frwrdAgent.codeNm}'/></span> </c:if> </c:forEach> <span style="float:right;"> 단가 : <input type="text" style="width:50px;min-width:auto;padding:0 10px;" id="agentPrice_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="agentPrice_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="<c:out value='${result.agentPrice}'/>"/> 원 </span> </th> <td> <c:choose> <c:when test="${result.agentCode == '01'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="01" <c:if test="${result.repAgent eq '01'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '02'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="02" <c:if test="${result.repAgent eq '02'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '03'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="03" <c:if test="${result.repAgent eq '03'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '04'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="04" <c:if test="${result.repAgent eq '04'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '05'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="05" <c:if test="${result.repAgent eq '05'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> <c:when test="${result.agentCode == '07'}"> <input type="radio" name="repAgent_<c:out value='${result.msgType}'/>" id="repAgent_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="07" <c:if test="${result.repAgent eq '07'}">checked="checked"</c:if>/> <label for="">대표전송사</label> </c:when> </c:choose> </td> <td> <select id="useYn_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="useYn_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>"> <option value="Y" <c:if test="${result.useYn == 'Y'}">selected</c:if> >사용</option> <option value="N" <c:if test="${result.useYn == 'N'}">selected</c:if> >미사용</option> </select> <input type="text" id="agentRate_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" name="agentRate_<c:out value='${result.agentCode}'/>_<c:out value='${result.msgType}'/>" value="<c:out value='${result.sendRate}'/>" style="width:20px;"/>&nbsp;% &nbsp;&nbsp; <input type="button" class="btnType1" value="수정" onclick="javascript:doUpdate('<c:out value="${result.agentCode}"/>','P'); return false;"> </td> </tr> </c:if> </c:forEach> </tbody> </table> </div> </div> </div> </body> </html>

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
Sign in with github login with Google Sign in with Google
Reset password | Sign up