fix: 관리자 게시판 등록 권한 및 URL 표시 개선
This commit is contained in:
@@ -393,6 +393,7 @@ public class BOBbsService {
|
|||||||
if (vo.getBbscttRedngAuthorDvCd() != null && "01".equals(vo.getBbscttRedngAuthorDvCd())) {
|
if (vo.getBbscttRedngAuthorDvCd() != null && "01".equals(vo.getBbscttRedngAuthorDvCd())) {
|
||||||
vo.setBbscttRedngAuthorDvCd("[all]");
|
vo.setBbscttRedngAuthorDvCd("[all]");
|
||||||
} else if (vo.getBbscttRedngAuthorDvCd() != null && "02".equals(vo.getBbscttRedngAuthorDvCd())) {
|
} else if (vo.getBbscttRedngAuthorDvCd() != null && "02".equals(vo.getBbscttRedngAuthorDvCd())) {
|
||||||
|
validateMemberGradeSelection(vo.getBbscttRedngAuthorDvCd_c(), "게시판 읽기");
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (String mbrInnb : vo.getBbscttRedngAuthorDvCd_c()) {
|
for (String mbrInnb : vo.getBbscttRedngAuthorDvCd_c()) {
|
||||||
@@ -431,6 +432,8 @@ public class BOBbsService {
|
|||||||
if (vo.getBbscttRegistAuthorDvCd() != null && "01".equals(vo.getBbscttRegistAuthorDvCd())) {
|
if (vo.getBbscttRegistAuthorDvCd() != null && "01".equals(vo.getBbscttRegistAuthorDvCd())) {
|
||||||
vo.setBbscttRegistAuthorDvCd("[all]");
|
vo.setBbscttRegistAuthorDvCd("[all]");
|
||||||
} else if (vo.getBbscttRegistAuthorDvCd() != null && "02".equals(vo.getBbscttRegistAuthorDvCd())) {
|
} else if (vo.getBbscttRegistAuthorDvCd() != null && "02".equals(vo.getBbscttRegistAuthorDvCd())) {
|
||||||
|
validateMemberGradeSelection(vo.getBbscttRegistAuthorDvCd_c(), "게시판 쓰기");
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (String mbrInnb : vo.getBbscttRegistAuthorDvCd_c()) {
|
for (String mbrInnb : vo.getBbscttRegistAuthorDvCd_c()) {
|
||||||
|
|
||||||
@@ -465,6 +468,8 @@ public class BOBbsService {
|
|||||||
if (vo.getAnswRegistAuthorDvCd() != null && "01".equals(vo.getAnswRegistAuthorDvCd())) {
|
if (vo.getAnswRegistAuthorDvCd() != null && "01".equals(vo.getAnswRegistAuthorDvCd())) {
|
||||||
vo.setAnswRegistAuthorDvCd("[all]");
|
vo.setAnswRegistAuthorDvCd("[all]");
|
||||||
} else if (vo.getAnswRegistAuthorDvCd() != null && "02".equals(vo.getAnswRegistAuthorDvCd())) {
|
} else if (vo.getAnswRegistAuthorDvCd() != null && "02".equals(vo.getAnswRegistAuthorDvCd())) {
|
||||||
|
validateMemberGradeSelection(vo.getAnswRegistAuthorDvCd_c(), "답글 쓰기");
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (String mbrInnb : vo.getAnswRegistAuthorDvCd_c()) {
|
for (String mbrInnb : vo.getAnswRegistAuthorDvCd_c()) {
|
||||||
|
|
||||||
@@ -499,6 +504,8 @@ public class BOBbsService {
|
|||||||
if (vo.getCmRegistAuthorDvCd() != null && "01".equals(vo.getCmRegistAuthorDvCd())) {
|
if (vo.getCmRegistAuthorDvCd() != null && "01".equals(vo.getCmRegistAuthorDvCd())) {
|
||||||
vo.setCmRegistAuthorDvCd("[all]");
|
vo.setCmRegistAuthorDvCd("[all]");
|
||||||
} else if (vo.getCmRegistAuthorDvCd() != null && "02".equals(vo.getCmRegistAuthorDvCd())) {
|
} else if (vo.getCmRegistAuthorDvCd() != null && "02".equals(vo.getCmRegistAuthorDvCd())) {
|
||||||
|
validateMemberGradeSelection(vo.getCmRegistAuthorDvCd_c(), "댓글 쓰기");
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (String mbrInnb : vo.getCmRegistAuthorDvCd_c()) {
|
for (String mbrInnb : vo.getCmRegistAuthorDvCd_c()) {
|
||||||
|
|
||||||
@@ -685,15 +692,21 @@ public class BOBbsService {
|
|||||||
msgMap.put("bbsid", bbsId);
|
msgMap.put("bbsid", bbsId);
|
||||||
|
|
||||||
} catch (WnbtRestException wre){
|
} catch (WnbtRestException wre){
|
||||||
throw new WnbtRestException(wre.getMessage());
|
throw wre;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
|
throw new WnbtRestException("게시판 등록 중 오류가 발생했습니다.", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return msgMap;
|
return msgMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void validateMemberGradeSelection(String[] memberGradeArr, String authorizationName) {
|
||||||
|
if (memberGradeArr == null || memberGradeArr.length == 0) {
|
||||||
|
throw new WnbtRestException(authorizationName + " 권한의 회원등급을 선택해 주세요.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 게시판 삭제
|
* 게시판 삭제
|
||||||
|
|||||||
@@ -948,7 +948,8 @@
|
|||||||
<input type="radio" id="write${cgn024.cd }"
|
<input type="radio" id="write${cgn024.cd }"
|
||||||
name="bbscttRegistAuthorDvCd"
|
name="bbscttRegistAuthorDvCd"
|
||||||
value="${cgn024.cd }" ${attrCheck }
|
value="${cgn024.cd }" ${attrCheck }
|
||||||
onclick="fn_click_check('bbscttRegistAuthorDvCd', 'all');">
|
onclick="fn_change_event('bbscttRegistAuthorDvCd');
|
||||||
|
fn_click_check('bbscttRegistAuthorDvCd', 'all');">
|
||||||
<label for="write${cgn024.cd }"><c:out
|
<label for="write${cgn024.cd }"><c:out
|
||||||
value="${cgn024.cdNm }"/></label>
|
value="${cgn024.cdNm }"/></label>
|
||||||
</div>
|
</div>
|
||||||
@@ -2042,13 +2043,25 @@
|
|||||||
url : url,
|
url : url,
|
||||||
data : paramsArray,
|
data : paramsArray,
|
||||||
success : function(data) {
|
success : function(data) {
|
||||||
|
const result = JSON.parse(data.resBody.result);
|
||||||
|
const bbsId = result.bbsid;
|
||||||
|
if (result.message !== 'success' || !bbsId) {
|
||||||
|
alert('게시판 등록에 실패했습니다. 다시 시도해 주세요.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
alert('<spring:message code="success.common.insert"/>');
|
alert('<spring:message code="success.common.insert"/>');
|
||||||
const bbsId = JSON.parse(data.resBody.result).bbsid;
|
|
||||||
<%-- fn_move_dtlupdt(bbsId); --%>
|
<%-- fn_move_dtlupdt(bbsId); --%>
|
||||||
$('#backUpData').find('[name=bbsId]').val(JSON.parse(data.resBody.result).bbsid);
|
$('#backUpData').find('[name=bbsId]').val(bbsId);
|
||||||
$('#backUpData').find('[name=pageDv]').val('I');
|
$('#backUpData').find('[name=pageDv]').val('I');
|
||||||
$('#backUpData').attr('action', '<c:url value="/mngr/bbs/bbsmngr/selectBbsDtlUpdtForm"/>');
|
$('#backUpData').attr('action', '<c:url value="/mngr/bbs/bbsmngr/selectBbsDtlUpdtForm"/>');
|
||||||
$('#backUpData').submit();
|
$('#backUpData').submit();
|
||||||
|
},
|
||||||
|
error : function(data) {
|
||||||
|
const message = data.responseJSON
|
||||||
|
&& data.responseJSON.resBody
|
||||||
|
&& data.responseJSON.resBody.result;
|
||||||
|
alert(message || '게시판 등록 중 오류가 발생했습니다.');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,36 +21,36 @@
|
|||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
console.log('urlval 태그' + $('.urlVal').length);
|
console.log('urlval 태그' + $('.urlVal').length);
|
||||||
|
|
||||||
const pcDomnAdres = document.querySelector('.header__logo').getAttribute('data-pcurl');
|
const popup = document.getElementById('board-list-detail');
|
||||||
|
|
||||||
let urlVal = '';
|
let urlVal = '';
|
||||||
const bbscttInnb = document.getElementsByName("script_bbscttInnb")[0]?.value || "";
|
const bbscttInnb = popup.querySelector('[name="script_bbscttInnb"]')?.value || "";
|
||||||
const bbsId = document.getElementsByName("bbsId")[0]?.value || "";
|
const bbsId = popup.querySelector('[name="bbsId"]')?.value || "";
|
||||||
const bbsTyCd = document.getElementsByName("bbsTyCd")[0]?.value || "";
|
const bbsTyCd = popup.querySelector('[name="bbsTyCd"]')?.value || "";
|
||||||
const sopmalCd = document.getElementsByName("sopmalCd")[0]?.value || "";
|
const sopmalCd = popup.querySelector('[name="sopmalCd"]')?.value || "";
|
||||||
const bbsUseAt = document.getElementsByName("bbsUseAt")[0]?.value || "";
|
const bbsUseAt = popup.querySelector('[name="bbsUseAt"]')?.value || "";
|
||||||
const npayBbscttSnb = document.getElementsByName("npayBbscttSnb")[0]?.value || "";
|
const npayBbscttSnb = popup.querySelector('[name="npayBbscttSnb"]')?.value || "";
|
||||||
|
|
||||||
console.log("bbscttInnb:", bbscttInnb);
|
console.log("bbscttInnb:", bbscttInnb);
|
||||||
console.log("bbsId:", bbsId);
|
console.log("bbsId:", bbsId);
|
||||||
console.log("bbsTyCd:", bbsTyCd);
|
console.log("bbsTyCd:", bbsTyCd);
|
||||||
console.log("sopmalCd:", sopmalCd);
|
console.log("sopmalCd:", sopmalCd);
|
||||||
|
|
||||||
if(bbsUseAt == 'Y' && (npayBbscttSnb === null || npayBbscttSnb === undefined || npayBbscttSnb === '')) {
|
if (bbsUseAt === 'Y' && !npayBbscttSnb) {
|
||||||
if (bbsTyCd === '03' || bbsId == 'main_event' || bbsId == 'largeLMS_event') {
|
if (bbsId === 'largeLMS_event') {
|
||||||
if (bbsTyCd === '03' || bbsId == 'main_event') {
|
urlVal = '/' + sopmalCd + '/extra/bbs/selectSMSEventPage?bbscttInnb=' + bbscttInnb;
|
||||||
urlVal = pcDomnAdres + '/sopmal/csc/selectBbscttAuth?authDv=CM&bbsTyCd=03&reqUrl=subPage&bbsId=' + bbsId + '&bbscttInnb=' + bbscttInnb;
|
} else {
|
||||||
} else {
|
urlVal = '/sopmal/csc/selectBbscttAuth?authDv=CM&reqUrl=detail&bbsTyCd='
|
||||||
urlVal = '/'+sopmalCd+'/extra/bbs/selectSMSEventPage?bbscttInnb=' + bbscttInnb;
|
+ encodeURIComponent(bbsTyCd)
|
||||||
}
|
+ '&bbsId=' + encodeURIComponent(bbsId)
|
||||||
|
+ '&bbscttInnb=' + encodeURIComponent(bbscttInnb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
console.log(' urlVal 실행됨: ' + urlVal);
|
console.log(' urlVal 실행됨: ' + urlVal);
|
||||||
console.log(' pcDomnAdres 실행됨: ' + pcDomnAdres);
|
|
||||||
|
|
||||||
$('.urlVal').val(urlVal);
|
popup.querySelector('.urlVal').value = urlVal;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -88,15 +88,18 @@
|
|||||||
<input type="hidden" id="bbsId" name="bbsId" value="<c:out value='${bbsInfo.bbsId}' />" />
|
<input type="hidden" id="bbsId" name="bbsId" value="<c:out value='${bbsInfo.bbsId}' />" />
|
||||||
<div class="form-control-container mb-10">
|
<div class="form-control-container mb-10">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
|
<c:if test="${bbscttInfo.useAt eq 'Y' && empty bbscttInfo.npayBbscttSnb}">
|
||||||
|
<div class="input-container inline-block mr-5">
|
||||||
|
<label class="visually-hidden" for="url">사용자 페이지 URL</label>
|
||||||
|
<input type="text" id="url" class="input-text urlVal" readonly style="width: 500px;"/>
|
||||||
|
</div>
|
||||||
|
<button type="button" class="btn xsm primary" onclick="fn_copy_url();">URL 복사</button>
|
||||||
|
</c:if>
|
||||||
</div>
|
</div>
|
||||||
<div class="center">
|
<div class="center">
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<c:if test="${bbscttInfo.useAt eq 'Y' && empty bbscttInfo.npayBbscttSnb}">
|
<c:if test="${bbscttInfo.useAt eq 'Y' && empty bbscttInfo.npayBbscttSnb}">
|
||||||
<c:if test="${(bbsInfo.bbsTyCd eq '03') || (bbsInfo.bbsId eq 'main_event') || (bbsInfo.bbsId eq 'largeLMS_event')}">
|
|
||||||
<input type="text" id="url" class="urlVal" style="display: none;"/>
|
|
||||||
<button type="button" class="btn xsm primary" onclick="fn_copy_url();">url복사</button>
|
|
||||||
</c:if>
|
|
||||||
<button type="button" class="btn xsm primary outline" onclick="fn_select_bbsctt_update_pop('<c:out
|
<button type="button" class="btn xsm primary outline" onclick="fn_select_bbsctt_update_pop('<c:out
|
||||||
value="${ bbscttInfo.bbscttInnb }"/>','dtlPop');"><spring:message
|
value="${ bbscttInfo.bbscttInnb }"/>','dtlPop');"><spring:message
|
||||||
code="button.update"/></button>
|
code="button.update"/></button>
|
||||||
|
|||||||
Reference in New Issue
Block a user