diff --git a/src/main/java/com/wb/domainserver/domain/gcone/bbs/bbs/service/BOBbsService.java b/src/main/java/com/wb/domainserver/domain/gcone/bbs/bbs/service/BOBbsService.java
index e9a63dff..bfdb71b4 100644
--- a/src/main/java/com/wb/domainserver/domain/gcone/bbs/bbs/service/BOBbsService.java
+++ b/src/main/java/com/wb/domainserver/domain/gcone/bbs/bbs/service/BOBbsService.java
@@ -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 + " 권한의 회원등급을 선택해 주세요.");
+ }
+ }
+
/**
* 게시판 삭제
diff --git a/src/main/webapp/WEB-INF/views/mngr/bbs/bbsmngr/BbsRegistC.jsp b/src/main/webapp/WEB-INF/views/mngr/bbs/bbsmngr/BbsRegistC.jsp
index 58fa61ca..c1f81db6 100644
--- a/src/main/webapp/WEB-INF/views/mngr/bbs/bbsmngr/BbsRegistC.jsp
+++ b/src/main/webapp/WEB-INF/views/mngr/bbs/bbsmngr/BbsRegistC.jsp
@@ -948,7 +948,8 @@
+ onclick="fn_change_event('bbscttRegistAuthorDvCd');
+ fn_click_check('bbscttRegistAuthorDvCd', 'all');">
@@ -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('');
- 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', '');
$('#backUpData').submit();
+ },
+ error : function(data) {
+ const message = data.responseJSON
+ && data.responseJSON.resBody
+ && data.responseJSON.resBody.result;
+ alert(message || '게시판 등록 중 오류가 발생했습니다.');
}
});
}
@@ -2078,4 +2091,4 @@
}
-