fix: 관리자 게시판 등록 권한 및 URL 표시 개선
This commit is contained in:
@@ -393,6 +393,7 @@ public class BOBbsService {
|
||||
if (vo.getBbscttRedngAuthorDvCd() != null && "01".equals(vo.getBbscttRedngAuthorDvCd())) {
|
||||
vo.setBbscttRedngAuthorDvCd("[all]");
|
||||
} else if (vo.getBbscttRedngAuthorDvCd() != null && "02".equals(vo.getBbscttRedngAuthorDvCd())) {
|
||||
validateMemberGradeSelection(vo.getBbscttRedngAuthorDvCd_c(), "게시판 읽기");
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String mbrInnb : vo.getBbscttRedngAuthorDvCd_c()) {
|
||||
@@ -431,6 +432,8 @@ public class BOBbsService {
|
||||
if (vo.getBbscttRegistAuthorDvCd() != null && "01".equals(vo.getBbscttRegistAuthorDvCd())) {
|
||||
vo.setBbscttRegistAuthorDvCd("[all]");
|
||||
} else if (vo.getBbscttRegistAuthorDvCd() != null && "02".equals(vo.getBbscttRegistAuthorDvCd())) {
|
||||
validateMemberGradeSelection(vo.getBbscttRegistAuthorDvCd_c(), "게시판 쓰기");
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String mbrInnb : vo.getBbscttRegistAuthorDvCd_c()) {
|
||||
|
||||
@@ -465,6 +468,8 @@ public class BOBbsService {
|
||||
if (vo.getAnswRegistAuthorDvCd() != null && "01".equals(vo.getAnswRegistAuthorDvCd())) {
|
||||
vo.setAnswRegistAuthorDvCd("[all]");
|
||||
} else if (vo.getAnswRegistAuthorDvCd() != null && "02".equals(vo.getAnswRegistAuthorDvCd())) {
|
||||
validateMemberGradeSelection(vo.getAnswRegistAuthorDvCd_c(), "답글 쓰기");
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String mbrInnb : vo.getAnswRegistAuthorDvCd_c()) {
|
||||
|
||||
@@ -499,6 +504,8 @@ public class BOBbsService {
|
||||
if (vo.getCmRegistAuthorDvCd() != null && "01".equals(vo.getCmRegistAuthorDvCd())) {
|
||||
vo.setCmRegistAuthorDvCd("[all]");
|
||||
} else if (vo.getCmRegistAuthorDvCd() != null && "02".equals(vo.getCmRegistAuthorDvCd())) {
|
||||
validateMemberGradeSelection(vo.getCmRegistAuthorDvCd_c(), "댓글 쓰기");
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String mbrInnb : vo.getCmRegistAuthorDvCd_c()) {
|
||||
|
||||
@@ -685,15 +692,21 @@ public class BOBbsService {
|
||||
msgMap.put("bbsid", bbsId);
|
||||
|
||||
} catch (WnbtRestException wre){
|
||||
throw new WnbtRestException(wre.getMessage());
|
||||
throw wre;
|
||||
} catch (Exception e) {
|
||||
|
||||
log.error(e.getMessage(), e);
|
||||
throw new WnbtRestException("게시판 등록 중 오류가 발생했습니다.", e);
|
||||
}
|
||||
|
||||
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 }"
|
||||
name="bbscttRegistAuthorDvCd"
|
||||
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
|
||||
value="${cgn024.cdNm }"/></label>
|
||||
</div>
|
||||
@@ -2042,13 +2043,25 @@
|
||||
url : url,
|
||||
data : paramsArray,
|
||||
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"/>');
|
||||
const bbsId = JSON.parse(data.resBody.result).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').attr('action', '<c:url value="/mngr/bbs/bbsmngr/selectBbsDtlUpdtForm"/>');
|
||||
$('#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 () {
|
||||
console.log('urlval 태그' + $('.urlVal').length);
|
||||
|
||||
const pcDomnAdres = document.querySelector('.header__logo').getAttribute('data-pcurl');
|
||||
const popup = document.getElementById('board-list-detail');
|
||||
|
||||
let urlVal = '';
|
||||
const bbscttInnb = document.getElementsByName("script_bbscttInnb")[0]?.value || "";
|
||||
const bbsId = document.getElementsByName("bbsId")[0]?.value || "";
|
||||
const bbsTyCd = document.getElementsByName("bbsTyCd")[0]?.value || "";
|
||||
const sopmalCd = document.getElementsByName("sopmalCd")[0]?.value || "";
|
||||
const bbsUseAt = document.getElementsByName("bbsUseAt")[0]?.value || "";
|
||||
const npayBbscttSnb = document.getElementsByName("npayBbscttSnb")[0]?.value || "";
|
||||
const bbscttInnb = popup.querySelector('[name="script_bbscttInnb"]')?.value || "";
|
||||
const bbsId = popup.querySelector('[name="bbsId"]')?.value || "";
|
||||
const bbsTyCd = popup.querySelector('[name="bbsTyCd"]')?.value || "";
|
||||
const sopmalCd = popup.querySelector('[name="sopmalCd"]')?.value || "";
|
||||
const bbsUseAt = popup.querySelector('[name="bbsUseAt"]')?.value || "";
|
||||
const npayBbscttSnb = popup.querySelector('[name="npayBbscttSnb"]')?.value || "";
|
||||
|
||||
console.log("bbscttInnb:", bbscttInnb);
|
||||
console.log("bbsId:", bbsId);
|
||||
console.log("bbsTyCd:", bbsTyCd);
|
||||
console.log("sopmalCd:", sopmalCd);
|
||||
|
||||
if(bbsUseAt == 'Y' && (npayBbscttSnb === null || npayBbscttSnb === undefined || npayBbscttSnb === '')) {
|
||||
if (bbsTyCd === '03' || bbsId == 'main_event' || bbsId == 'largeLMS_event') {
|
||||
if (bbsTyCd === '03' || bbsId == 'main_event') {
|
||||
urlVal = pcDomnAdres + '/sopmal/csc/selectBbscttAuth?authDv=CM&bbsTyCd=03&reqUrl=subPage&bbsId=' + bbsId + '&bbscttInnb=' + bbscttInnb;
|
||||
} else {
|
||||
if (bbsUseAt === 'Y' && !npayBbscttSnb) {
|
||||
if (bbsId === 'largeLMS_event') {
|
||||
urlVal = '/' + sopmalCd + '/extra/bbs/selectSMSEventPage?bbscttInnb=' + bbscttInnb;
|
||||
}
|
||||
} else {
|
||||
urlVal = '/sopmal/csc/selectBbscttAuth?authDv=CM&reqUrl=detail&bbsTyCd='
|
||||
+ encodeURIComponent(bbsTyCd)
|
||||
+ '&bbsId=' + encodeURIComponent(bbsId)
|
||||
+ '&bbscttInnb=' + encodeURIComponent(bbscttInnb);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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}' />" />
|
||||
<div class="form-control-container mb-10">
|
||||
<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 class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<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
|
||||
value="${ bbscttInfo.bbscttInnb }"/>','dtlPop');"><spring:message
|
||||
code="button.update"/></button>
|
||||
|
||||
Reference in New Issue
Block a user