diff --git a/src/main/java/kcc/com/srch/service/SearchVO.java b/src/main/java/kcc/com/srch/service/SearchVO.java index 17aae17d..19dc8bf5 100644 --- a/src/main/java/kcc/com/srch/service/SearchVO.java +++ b/src/main/java/kcc/com/srch/service/SearchVO.java @@ -12,7 +12,7 @@ import lombok.Setter; @Getter @Setter @NoArgsConstructor -public class SearchVO implements Serializable { +public class SearchVO extends ComDefaultVO implements Serializable { private static final long serialVersionUID = 1L; @@ -22,8 +22,8 @@ public class SearchVO implements Serializable { */ private String searchType; private String searchKeyword; - private String pagingSize; - private String page; + private String pagingSize = "10"; + private String page = "1"; /* diff --git a/src/main/java/kcc/com/srch/service/impl/SearchServiceImpl.java b/src/main/java/kcc/com/srch/service/impl/SearchServiceImpl.java index 2e1cc43d..937704c8 100644 --- a/src/main/java/kcc/com/srch/service/impl/SearchServiceImpl.java +++ b/src/main/java/kcc/com/srch/service/impl/SearchServiceImpl.java @@ -6,12 +6,12 @@ import java.util.Map; import org.springframework.stereotype.Service; import org.springframework.ui.ModelMap; -import com.fasterxml.jackson.databind.node.TextNode; - import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.srch.service.SearchService; import kcc.com.srch.service.SearchVO; import seed.utils.FairnetUtils; +import seed.utils.SeedUtils; @Service("SearchService") public class SearchServiceImpl extends EgovAbstractServiceImpl implements SearchService { @@ -22,12 +22,13 @@ public class SearchServiceImpl extends EgovAbstractServiceImpl implements Search ModelMap model ){ -// Map application = FairnetUtils.searchApplication("application", "테스트", "3", "1"); - Map board = FairnetUtils.searchApplication("board", searchVO.getSearchKeyword(), searchVO.getPagingSize(), "1"); - Map completed = FairnetUtils.searchApplication("completed", searchVO.getSearchKeyword(), searchVO.getPagingSize(), "1"); - Map conference = FairnetUtils.searchApplication("conference", searchVO.getSearchKeyword(), searchVO.getPagingSize(), "1"); - Map counsel = FairnetUtils.searchApplication("counsel", searchVO.getSearchKeyword(), searchVO.getPagingSize(), "1"); - Map process = FairnetUtils.searchApplication("process", searchVO.getSearchKeyword(), searchVO.getPagingSize(), "1"); +// searchVO.setPage(SeedUtils.setReplaceNull(searchVO.getPageIndex()) != "" ? SeedUtils.setReplaceNull(searchVO.getPageIndex()) : "1"); + + Map board = FairnetUtils.searchApplication("board", searchVO.getSearchKeyword(), searchVO.getPagingSize(), searchVO.getPageIndex()); + Map completed = FairnetUtils.searchApplication("completed", searchVO.getSearchKeyword(), searchVO.getPagingSize(), searchVO.getPageIndex()); + Map conference = FairnetUtils.searchApplication("conference", searchVO.getSearchKeyword(), searchVO.getPagingSize(), searchVO.getPageIndex()); + Map counsel = FairnetUtils.searchApplication("counsel", searchVO.getSearchKeyword(), searchVO.getPagingSize(), searchVO.getPageIndex()); + Map process = FairnetUtils.searchApplication("process", searchVO.getSearchKeyword(), searchVO.getPagingSize(),searchVO.getPageIndex()); BigDecimal totCnt = new BigDecimal(0); @@ -44,6 +45,44 @@ public class SearchServiceImpl extends EgovAbstractServiceImpl implements Search model.addAttribute("counsel", counsel); model.addAttribute("process", process); + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + int totalREcordCount = 0; + if("process".equals(searchVO.getSearchType())) { + if(process != null) { + totalREcordCount = Integer.valueOf((String)process.get("totcnt")); + } + }else if("conference".equals(searchVO.getSearchType())) { + if(conference != null) { + totalREcordCount = Integer.valueOf((String)conference.get("totcnt")); + } + }else if("completed".equals(searchVO.getSearchType())) { + if(completed != null) { + totalREcordCount = Integer.valueOf((String)completed.get("totcnt")); + } + }else if("board".equals(searchVO.getSearchType())) { + if(board != null) { + totalREcordCount = Integer.valueOf((String)board.get("totcnt")); + } + }else if("counsel".equals(searchVO.getSearchType())) { + if(counsel != null) { + totalREcordCount = Integer.valueOf((String)counsel.get("totcnt")); + } + }else { + paginationInfo.setTotalRecordCount(totCnt.intValue()); + } + paginationInfo.setTotalRecordCount(totalREcordCount); + + model.addAttribute("paginationInfo", paginationInfo); + } diff --git a/src/main/java/kcc/com/srch/web/SearchController.java b/src/main/java/kcc/com/srch/web/SearchController.java index 81eb1674..edce1c85 100644 --- a/src/main/java/kcc/com/srch/web/SearchController.java +++ b/src/main/java/kcc/com/srch/web/SearchController.java @@ -8,6 +8,7 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.srch.service.SearchService; import kcc.com.srch.service.SearchVO; @@ -27,9 +28,81 @@ public class SearchController { ) throws Exception { searchVO.setPagingSize("3"); + searchVO.setPageIndex(1); + searchVO.setSearchType("ALL"); searchService.searchListSet(searchVO, model); return "com/srch/searchList"; } + + @RequestMapping(value = "/com/srch/SearchProcess.do") + public String SearchProcess( + ModelMap model + , @ModelAttribute("searchVO") SearchVO searchVO + ) throws Exception { + + searchVO.setPagingSize("10"); + searchVO.setSearchType("process"); + + searchService.searchListSet(searchVO, model); + + return "com/srch/searchProcess"; + } + + @RequestMapping(value = "/com/srch/SearchConference.do") + public String SearchConference( + ModelMap model + , @ModelAttribute("searchVO") SearchVO searchVO + ) throws Exception { + + searchVO.setPagingSize("10"); + searchVO.setSearchType("conference"); + + searchService.searchListSet(searchVO, model); + + return "com/srch/searchConference"; + } + + @RequestMapping(value = "/com/srch/SearchCompleted.do") + public String SearchCompleted( + ModelMap model + , @ModelAttribute("searchVO") SearchVO searchVO + ) throws Exception { + + searchVO.setPagingSize("10"); + searchVO.setSearchType("completed"); + + searchService.searchListSet(searchVO, model); + + return "com/srch/searchCompleted"; + } + + @RequestMapping(value = "/com/srch/SearchBoard.do") + public String SearchBoard( + ModelMap model + , @ModelAttribute("searchVO") SearchVO searchVO + ) throws Exception { + + searchVO.setPagingSize("10"); + searchVO.setSearchType("board"); + + searchService.searchListSet(searchVO, model); + + return "com/srch/searchBoard"; + } + + @RequestMapping(value = "/com/srch/SearchCounsel.do") + public String SearchCounsel( + ModelMap model + , @ModelAttribute("searchVO") SearchVO searchVO + ) throws Exception { + + searchVO.setPagingSize("10"); + searchVO.setSearchType("counsel"); + + searchService.searchListSet(searchVO, model); + + return "com/srch/searchCounsel"; + } } \ No newline at end of file diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index 25e99cbc..73bc5c29 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -1471,6 +1471,13 @@ public class MainController { ) { menuUrl = "/web/user/bbs/case/3/300/bbsDataList.do"; } + /*분쟁조정 신청조회*/ + else if( + menuUrl.contains("/web/user/mediation/case/02/155/") + || menuUrl.contains("/web/user/mediation/case/03/155/") + ) { + menuUrl = "/web/user/mediation/case/01/155/checkMediationStep01.do"; + } // 상세화면 URL로 메뉴화면 매핑이 안되어, 문자열 치환으로 매핑... diff --git a/src/main/java/seed/com/user/mediation/WebMediationController.java b/src/main/java/seed/com/user/mediation/WebMediationController.java index 2f84d827..4f8a5ff5 100644 --- a/src/main/java/seed/com/user/mediation/WebMediationController.java +++ b/src/main/java/seed/com/user/mediation/WebMediationController.java @@ -4032,6 +4032,479 @@ public class WebMediationController { //return new ModelAndView("/_extra/web/user/mediation/mediationStep05"); } + @RequestMapping("/web/user/mediation/{siteIdx}/01/{siteMenuIdx}/checkMediationStep01.do") + public ModelAndView checkMediationStep01(ModelMap map, HttpSession session, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + /*----권한체크----*/ + setSessionMessageRemove(session); + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + /*여기서부터 추가 작업*/ + + return new ModelAndView("/_extra/web/user/mediation/checkMediationStep01"); + } + + // /user/mediation/case/02/155/checkMediationStep02.do + @RequestMapping("/web/user/mediation/{siteIdx}/02/{siteMenuIdx}/checkMediationStep02.do") + public ModelAndView checkMediationStep02(ModelMap map, HttpSession session, HttpServletRequest request, @RequestParam Map paramMap, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + /*----권한체크----*/ + setSessionMessageRemove(session); + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + /*여기서부터 추가 작업*/ + + String checkPass = SeedUtils.setReplaceNull(paramMap.get("checkPass")); + + List> applCnt = service.selectCaseApplcnt(paramMap); + List> respondentCnt = service.selectCaseRespondent(paramMap); + + if((applCnt == null || applCnt.size() == 0) && (respondentCnt == null || respondentCnt.size() == 0)){ + map.put("siteIdx", "case"); + map.put("url", "/web/user/mediation/case/01/155/checkMediationStep01.do"); + map.put("message", "user.message.medi.check"); + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + return new ModelAndView("/_common/jsp/umessage"); + } + + boolean status = false; + String authType = ""; + if(applCnt.size() > 0) { + for(int i=0; i 0) { + for(int i=0; i masterInfo = service.masterList(paramMap); + //사건권한 테이블 insert + CaseAuthVO caseAuthVO = new CaseAuthVO(); + //rceptNo구하기 + caseAuthVO.setRceptNo(SeedUtils.setReplaceNull(masterInfo.get("RCEPT_NO"))); + //certId 구하기 + CertVO certVO = certService.selectCert(FairnetUtils.getCertSession(request)); + caseAuthVO.setCertId(certVO.getCertId()); + //신청인, 피신청인 구분 + caseAuthVO.setCaseAuthType(authType); + caseAuthVO.setCaseAuthYn("N"); + + caseAuthService.insertCaseAuth(caseAuthVO); + }catch(Exception e) { + status = false; + } + if(status == false) { + map.put("siteIdx", "case"); + map.put("url", "/web/user/mediation/case/01/155/checkMediationStep01.do"); + map.put("message", "user.message.medi.check"); + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + return new ModelAndView("/_common/jsp/umessage"); + } + + // CI 체크 + if(!ciCheck(map, session)) { + return new ModelAndView("/_common/jsp/umessage"); + } + + session.setAttribute("caseNo", SeedUtils.setReplaceNull(paramMap.get("caseNo"))); + return new ModelAndView("redirect:/web/user/mediation/case/03/155/checkMediationStep03.do"); + } + + // /user/mediation/case/03/155/checkMediationStep03.do + @RequestMapping("/web/user/mediation/{siteIdx}/03/{siteMenuIdx}/checkMediationStep03.do") + public ModelAndView checkMediationStep03(ModelMap map, HttpSession session, @RequestParam Map paramMap, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + + String isGubun = SeedUtils.setReplaceNull(session.getAttribute("isGubun")); + if(isGubun.equals("")){ + map.put("siteIdx", "case"); + map.put("url", "/user/mediation/case/01/155/checkMediationStep01.do"); + map.put("message", "user.message.medi.alert"); + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + return new ModelAndView("/_common/jsp/umessage"); + } + + /*----권한체크----*/ + setSessionMessageRemove(session); + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + /*여기서부터 추가 작업*/ + + paramMap.put("caseNo", session.getAttribute("caseNo")); + paramMap.put("isSeq", session.getAttribute("isSeq")); + paramMap.put("isGubun", isGubun); + + //session.removeAttribute("caseNo"); + //paramMap.put("caseNo", "유통2016-0007"); + //session.setAttribute("isGubun", "app"); + + Map masterData = service.masterList(paramMap); + paramMap.put("rceptNo", masterData.get("RCEPT_NO")); + + map.put("isSeq", session.getAttribute("isSeq"));//사용자Seq + map.put("masterData", masterData);//마스터 + map.put("applcntData", service.selectCaseApplcnt(paramMap));//신청인 + map.put("respondentData", service.selectCaseRespondent(paramMap));//피신청인 + map.put("trublreqstmngCaseFileList", service.trublprocessmngCaseFileList(paramMap));//파일 리스트 + map.put("caseComment", service.selectCaseComment(paramMap)); + /*map.put("masterData", service.masterList(paramMap));//마스터 + map.put("applcntData", service.selectCaseApplcnt(paramMap));//신청인 + map.put("appagentData", service.selectCaseAppagent(paramMap));//신청인 대리인 + map.put("respondentData", service.selectCaseRespondent(paramMap));//피신청인 + map.put("resagentData", service.selectCaseResagent(paramMap));//피신청인 대리인 + map.put("selectRceptsttus", service.selectCaseRceptsttus(paramMap));//사건현황 + map.put("selectRceptsttus", service.selectCaseSubcntrsttusA(paramMap));//사건현황 + */ + return new ModelAndView("/_extra/web/user/mediation/checkMediationStep03"); + } private Boolean ciCheck(ModelMap map, HttpSession session) { String certNm = SeedUtils.setReplaceNull(session.getAttribute("certNm")); String certHpNo = SeedUtils.setReplaceNull(session.getAttribute("certHpNo")); diff --git a/src/main/java/seed/utils/FairnetUtils.java b/src/main/java/seed/utils/FairnetUtils.java index 75abe62c..d5675a2f 100644 --- a/src/main/java/seed/utils/FairnetUtils.java +++ b/src/main/java/seed/utils/FairnetUtils.java @@ -340,7 +340,7 @@ public class FairnetUtils { String searchType , String searchKeyword , String pagingSize - , String page + , int page ) { String url = new SearchGlobalSet().getHost() diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/mediation/mediation_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/mediation/mediation_sql.xml index 6cb4ce0d..04eec0f8 100644 --- a/src/main/resources/egovframework/sqlmap/config/mappers/mediation/mediation_sql.xml +++ b/src/main/resources/egovframework/sqlmap/config/mappers/mediation/mediation_sql.xml @@ -368,6 +368,9 @@ CONSIGNMENT_GUBUN = #{consignmentGubun}, FTC_CHECK = 'N', + STATE = '0302000000', + PRESIDENT_ASSIGN = '0000', + PRESIDENT_ASSIGN_DT = SYSDATE, REG_DT = SYSDATE WHERE RCEPT_NO = #{rceptNo} diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/mediation/checkMediationStep01.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/mediation/checkMediationStep01.jsp index 65251ac9..f362be4a 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/web/user/mediation/checkMediationStep01.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/mediation/checkMediationStep01.jsp @@ -11,16 +11,6 @@ <c:out escapeXml='true' value='${siteMenuTitle}'/> - - - - - - - - - - @@ -27,8 +18,19 @@ - + diff --git a/src/main/webapp/WEB-INF/jsp/com/srch/searchBoard.jsp b/src/main/webapp/WEB-INF/jsp/com/srch/searchBoard.jsp new file mode 100644 index 00000000..9df3cc73 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/com/srch/searchBoard.jsp @@ -0,0 +1,166 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + +
+
+ + + + +
+ +
+
+
+ + + + + + + + +
+

''에 대한 검색결과가 없습니다.

+
    +
  • 단어의 철자가 정확한지 확인해 보세요.
  • +
  • 한글을 영어로 혹은 영어를 한글로 입력했는지 확인해 보세요.
  • +
  • 검색어의 단어 수를 줄이거나, 보다 일반적인 검색어로 다시 검색해 보세요.
  • +
  • 두 단어 이상의 검색어인 경우, 띄어쓰기를 확인해 보세요.
  • +
+
+
+
+
+
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/com/srch/searchCompleted.jsp b/src/main/webapp/WEB-INF/jsp/com/srch/searchCompleted.jsp new file mode 100644 index 00000000..f5e91934 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/com/srch/searchCompleted.jsp @@ -0,0 +1,171 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + +
+
+ + + + +
+ +
+
+
+ + + + + + + + +
+

''에 대한 검색결과가 없습니다.

+
    +
  • 단어의 철자가 정확한지 확인해 보세요.
  • +
  • 한글을 영어로 혹은 영어를 한글로 입력했는지 확인해 보세요.
  • +
  • 검색어의 단어 수를 줄이거나, 보다 일반적인 검색어로 다시 검색해 보세요.
  • +
  • 두 단어 이상의 검색어인 경우, 띄어쓰기를 확인해 보세요.
  • +
+
+
+
+
+
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/com/srch/searchConference.jsp b/src/main/webapp/WEB-INF/jsp/com/srch/searchConference.jsp new file mode 100644 index 00000000..4d7ac320 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/com/srch/searchConference.jsp @@ -0,0 +1,174 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + +
+
+ + + + +
+ +
+
+
+ + + + + + + + +
+

''에 대한 검색결과가 없습니다.

+
    +
  • 단어의 철자가 정확한지 확인해 보세요.
  • +
  • 한글을 영어로 혹은 영어를 한글로 입력했는지 확인해 보세요.
  • +
  • 검색어의 단어 수를 줄이거나, 보다 일반적인 검색어로 다시 검색해 보세요.
  • +
  • 두 단어 이상의 검색어인 경우, 띄어쓰기를 확인해 보세요.
  • +
+
+
+
+
+
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/com/srch/searchCounsel.jsp b/src/main/webapp/WEB-INF/jsp/com/srch/searchCounsel.jsp new file mode 100644 index 00000000..40397419 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/com/srch/searchCounsel.jsp @@ -0,0 +1,167 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + +
+
+ + + + +
+ +
+
+
+ + + + + + + + +
+

''에 대한 검색결과가 없습니다.

+
    +
  • 단어의 철자가 정확한지 확인해 보세요.
  • +
  • 한글을 영어로 혹은 영어를 한글로 입력했는지 확인해 보세요.
  • +
  • 검색어의 단어 수를 줄이거나, 보다 일반적인 검색어로 다시 검색해 보세요.
  • +
  • 두 단어 이상의 검색어인 경우, 띄어쓰기를 확인해 보세요.
  • +
+
+
+
+
+
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/com/srch/searchList.jsp b/src/main/webapp/WEB-INF/jsp/com/srch/searchList.jsp index da7a54e6..60fe664c 100644 --- a/src/main/webapp/WEB-INF/jsp/com/srch/searchList.jsp +++ b/src/main/webapp/WEB-INF/jsp/com/srch/searchList.jsp @@ -1,6 +1,7 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> @@ -15,6 +16,27 @@ function goSearch(obj){ document.search.submit(); } + + function doCollection(type){ + var url = ''; + + if(type === 'ALL'){ + url = '/com/srch/Search.do'; + }else if(type === 'process'){ + url = '/com/srch/SearchProcess.do'; + }else if(type === 'conference'){ + url = '/com/srch/SearchConference.do'; + }else if(type === 'completed'){ + url = '/com/srch/SearchCompleted.do'; + }else if(type === 'board'){ + url = '/com/srch/SearchBoard.do'; + }else if(type === 'counsel'){ + url = '/com/srch/SearchCounsel.do'; + } + document.search.searchType.value = type; + document.search.action = url; + document.search.submit(); + } @@ -53,6 +75,8 @@
+ +
+
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/com/srch/searchProcess.jsp b/src/main/webapp/WEB-INF/jsp/com/srch/searchProcess.jsp new file mode 100644 index 00000000..f61a4cbb --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/com/srch/searchProcess.jsp @@ -0,0 +1,173 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> + + + + + + + + + + +
+
+ + + + +
+ +
+
+
+ + + + + + + + +
+

''에 대한 검색결과가 없습니다.

+
    +
  • 단어의 철자가 정확한지 확인해 보세요.
  • +
  • 한글을 영어로 혹은 영어를 한글로 입력했는지 확인해 보세요.
  • +
  • 검색어의 단어 수를 줄이거나, 보다 일반적인 검색어로 다시 검색해 보세요.
  • +
  • 두 단어 이상의 검색어인 경우, 띄어쓰기를 확인해 보세요.
  • +
+
+
+
+
+
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/uat/uia/KCertStep1.jsp b/src/main/webapp/WEB-INF/jsp/uat/uia/KCertStep1.jsp index 1c0df152..1f35bd33 100644 --- a/src/main/webapp/WEB-INF/jsp/uat/uia/KCertStep1.jsp +++ b/src/main/webapp/WEB-INF/jsp/uat/uia/KCertStep1.jsp @@ -45,6 +45,63 @@ } +
+ + +
+ +
+ + +
+ +
@@ -80,13 +137,13 @@
- +
  • - +
  • diff --git a/src/main/webapp/WEB-INF/jsp/uat/uia/KCertStep2.jsp b/src/main/webapp/WEB-INF/jsp/uat/uia/KCertStep2.jsp index 7c5ad728..cd4a0122 100644 --- a/src/main/webapp/WEB-INF/jsp/uat/uia/KCertStep2.jsp +++ b/src/main/webapp/WEB-INF/jsp/uat/uia/KCertStep2.jsp @@ -51,7 +51,7 @@
    - +
    diff --git a/src/main/webapp/WEB-INF/jsp/uat/uia/NCertStep1.jsp b/src/main/webapp/WEB-INF/jsp/uat/uia/NCertStep1.jsp index d8b4605f..2d0e8b7a 100644 --- a/src/main/webapp/WEB-INF/jsp/uat/uia/NCertStep1.jsp +++ b/src/main/webapp/WEB-INF/jsp/uat/uia/NCertStep1.jsp @@ -45,6 +45,64 @@ } +
    + + +
    + +
    + + +
    + +
    +
    @@ -80,13 +138,13 @@
    - +
  • - +
  • diff --git a/src/main/webapp/WEB-INF/jsp/uat/uia/NCertStep2.jsp b/src/main/webapp/WEB-INF/jsp/uat/uia/NCertStep2.jsp index 6dd55859..f577327d 100644 --- a/src/main/webapp/WEB-INF/jsp/uat/uia/NCertStep2.jsp +++ b/src/main/webapp/WEB-INF/jsp/uat/uia/NCertStep2.jsp @@ -51,7 +51,7 @@
    - +
    diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp index a4404062..ebd0b964 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp @@ -90,6 +90,20 @@ content="default-src * self blob: data: gap:; style-src * self 'unsafe-inline' b + + + + + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/LICENSE.md b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/LICENSE.md new file mode 100644 index 00000000..18ac6673 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/LICENSE.md @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2021 Adam Shaw + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/README.md b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/README.md new file mode 100644 index 00000000..379e2c31 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/README.md @@ -0,0 +1,73 @@ +# FullCalendar + +Full-sized drag & drop calendar in JavaScript + +- [Project Website](https://fullcalendar.io/) +- [Documentation](https://fullcalendar.io/docs) +- [Changelog](CHANGELOG.md) +- [Support](https://fullcalendar.io/support) +- [License](LICENSE.md) +- [Roadmap](https://fullcalendar.io/roadmap) + +Connectors: + +- [React](https://github.com/fullcalendar/fullcalendar-react) +- [Angular](https://github.com/fullcalendar/fullcalendar-angular) +- [Vue 3](https://github.com/fullcalendar/fullcalendar-vue) | + [2](https://github.com/fullcalendar/fullcalendar-vue2) + +## Bundle + +The [FullCalendar Standard Bundle](bundle) is easier to install than individual plugins, though filesize will be larger. It works well with a CDN. + +## Installation + +Install the FullCalendar core package and any plugins you plan to use: + +```sh +npm install @fullcalendar/core @fullcalendar/interaction @fullcalendar/daygrid +``` + +## Usage + +Instantiate a Calendar with plugins and options: + +```js +import { Calendar } from '@fullcalendar/core' +import interactionPlugin from '@fullcalendar/interaction' +import dayGridPlugin from '@fullcalendar/daygrid' + +const calendarEl = document.getElementById('calendar') +const calendar = new Calendar(calendarEl, { + plugins: [ + interactionPlugin, + dayGridPlugin + ], + initialView: 'timeGridWeek', + editable: true, + events: [ + { title: 'Meeting', start: new Date() } + ] +}) + +calendar.render() +``` + +## Development + +You must install this repo with [PNPM](https://pnpm.io/): + +``` +pnpm install +``` + +Available scripts (via `pnpm run + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/daygrid-views.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/daygrid-views.html new file mode 100644 index 00000000..9dafe439 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/daygrid-views.html @@ -0,0 +1,104 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/external-dragging-2cals.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/external-dragging-2cals.html new file mode 100644 index 00000000..066685d4 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/external-dragging-2cals.html @@ -0,0 +1,69 @@ + + + + + + + + + + +
    +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/external-dragging-builtin.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/external-dragging-builtin.html new file mode 100644 index 00000000..78fcd89f --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/external-dragging-builtin.html @@ -0,0 +1,149 @@ + + + + + + + + + +
    + +
    +

    Draggable Events

    + +
    +
    +
    My Event 1
    +
    +
    +
    My Event 2
    +
    +
    +
    My Event 3
    +
    +
    +
    My Event 4
    +
    +
    +
    My Event 5
    +
    +
    + +

    + + +

    +
    + +
    +
    +
    + +
    + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/full-height.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/full-height.html new file mode 100644 index 00000000..18b55f8c --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/full-height.html @@ -0,0 +1,125 @@ + + + + + + + + + + +
    +
    +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/list-sticky-header.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/list-sticky-header.html new file mode 100644 index 00000000..487af317 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/list-sticky-header.html @@ -0,0 +1,76 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/list-views.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/list-views.html new file mode 100644 index 00000000..cb219d03 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/list-views.html @@ -0,0 +1,114 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/month-view.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/month-view.html new file mode 100644 index 00000000..dbd88612 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/month-view.html @@ -0,0 +1,100 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/multimonth-view.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/multimonth-view.html new file mode 100644 index 00000000..feb9d23f --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/multimonth-view.html @@ -0,0 +1,110 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/multiweek-view.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/multiweek-view.html new file mode 100644 index 00000000..5a175fbb --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/multiweek-view.html @@ -0,0 +1,107 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/natural-height.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/natural-height.html new file mode 100644 index 00000000..b62c41d6 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/natural-height.html @@ -0,0 +1,108 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/selectable.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/selectable.html new file mode 100644 index 00000000..785e90ef --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/selectable.html @@ -0,0 +1,123 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/timegrid-views-modal.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/timegrid-views-modal.html new file mode 100644 index 00000000..3b4a0fc7 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/timegrid-views-modal.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + +
    + + + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/timegrid-views.html b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/timegrid-views.html new file mode 100644 index 00000000..9cd2527e --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/examples/timegrid-views.html @@ -0,0 +1,108 @@ + + + + + + + + + + +
    + + + diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap4/index.global.js b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap4/index.global.js new file mode 100644 index 00000000..2d130c5c --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap4/index.global.js @@ -0,0 +1,64 @@ +/*! +FullCalendar Bootstrap 4 Plugin v6.1.15 +Docs & License: https://fullcalendar.io/docs/bootstrap4 +(c) 2024 Adam Shaw +*/ +FullCalendar.Bootstrap = (function (exports, core, internal$1) { + 'use strict'; + + class BootstrapTheme extends internal$1.Theme { + } + BootstrapTheme.prototype.classes = { + root: 'fc-theme-bootstrap', + table: 'table-bordered', + tableCellShaded: 'table-active', + buttonGroup: 'btn-group', + button: 'btn btn-primary', + buttonActive: 'active', + popover: 'popover', + popoverHeader: 'popover-header', + popoverContent: 'popover-body', + }; + BootstrapTheme.prototype.baseIconClass = 'fa'; + BootstrapTheme.prototype.iconClasses = { + close: 'fa-times', + prev: 'fa-chevron-left', + next: 'fa-chevron-right', + prevYear: 'fa-angle-double-left', + nextYear: 'fa-angle-double-right', + }; + BootstrapTheme.prototype.rtlIconClasses = { + prev: 'fa-chevron-right', + next: 'fa-chevron-left', + prevYear: 'fa-angle-double-right', + nextYear: 'fa-angle-double-left', + }; + BootstrapTheme.prototype.iconOverrideOption = 'bootstrapFontAwesome'; // TODO: make TS-friendly. move the option-processing into this plugin + BootstrapTheme.prototype.iconOverrideCustomButtonOption = 'bootstrapFontAwesome'; + BootstrapTheme.prototype.iconOverridePrefix = 'fa-'; + + var css_248z = ".fc-theme-bootstrap a:not([href]){color:inherit}.fc-theme-bootstrap .fc-more-link:hover{text-decoration:none}"; + internal$1.injectStyles(css_248z); + + var plugin = core.createPlugin({ + name: '@fullcalendar/bootstrap', + themeClasses: { + bootstrap: BootstrapTheme, + }, + }); + + var internal = { + __proto__: null, + BootstrapTheme: BootstrapTheme + }; + + core.globalPlugins.push(plugin); + + exports.Internal = internal; + exports["default"] = plugin; + + Object.defineProperty(exports, '__esModule', { value: true }); + + return exports; + +})({}, FullCalendar, FullCalendar.Internal); diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap4/index.global.min.js b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap4/index.global.min.js new file mode 100644 index 00000000..f4ec3cdb --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap4/index.global.min.js @@ -0,0 +1,6 @@ +/*! +FullCalendar Bootstrap 4 Plugin v6.1.15 +Docs & License: https://fullcalendar.io/docs/bootstrap4 +(c) 2024 Adam Shaw +*/ +FullCalendar.Bootstrap=function(e,t,o){"use strict";class r extends o.Theme{}r.prototype.classes={root:"fc-theme-bootstrap",table:"table-bordered",tableCellShaded:"table-active",buttonGroup:"btn-group",button:"btn btn-primary",buttonActive:"active",popover:"popover",popoverHeader:"popover-header",popoverContent:"popover-body"},r.prototype.baseIconClass="fa",r.prototype.iconClasses={close:"fa-times",prev:"fa-chevron-left",next:"fa-chevron-right",prevYear:"fa-angle-double-left",nextYear:"fa-angle-double-right"},r.prototype.rtlIconClasses={prev:"fa-chevron-right",next:"fa-chevron-left",prevYear:"fa-angle-double-right",nextYear:"fa-angle-double-left"},r.prototype.iconOverrideOption="bootstrapFontAwesome",r.prototype.iconOverrideCustomButtonOption="bootstrapFontAwesome",r.prototype.iconOverridePrefix="fa-";o.injectStyles(".fc-theme-bootstrap a:not([href]){color:inherit}.fc-theme-bootstrap .fc-more-link:hover{text-decoration:none}");var a=t.createPlugin({name:"@fullcalendar/bootstrap",themeClasses:{bootstrap:r}}),n={__proto__:null,BootstrapTheme:r};return t.globalPlugins.push(a),e.Internal=n,e.default=a,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,FullCalendar.Internal); \ No newline at end of file diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap5/index.global.js b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap5/index.global.js new file mode 100644 index 00000000..3c823233 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap5/index.global.js @@ -0,0 +1,64 @@ +/*! +FullCalendar Bootstrap 5 Plugin v6.1.15 +Docs & License: https://fullcalendar.io/docs/bootstrap5 +(c) 2024 Adam Shaw +*/ +FullCalendar.Bootstrap5 = (function (exports, core, internal$1) { + 'use strict'; + + class BootstrapTheme extends internal$1.Theme { + } + BootstrapTheme.prototype.classes = { + root: 'fc-theme-bootstrap5', + tableCellShaded: 'fc-theme-bootstrap5-shaded', + buttonGroup: 'btn-group', + button: 'btn btn-primary', + buttonActive: 'active', + popover: 'popover', + popoverHeader: 'popover-header', + popoverContent: 'popover-body', + }; + BootstrapTheme.prototype.baseIconClass = 'bi'; + BootstrapTheme.prototype.iconClasses = { + close: 'bi-x-lg', + prev: 'bi-chevron-left', + next: 'bi-chevron-right', + prevYear: 'bi-chevron-double-left', + nextYear: 'bi-chevron-double-right', + }; + BootstrapTheme.prototype.rtlIconClasses = { + prev: 'bi-chevron-right', + next: 'bi-chevron-left', + prevYear: 'bi-chevron-double-right', + nextYear: 'bi-chevron-double-left', + }; + // wtf + BootstrapTheme.prototype.iconOverrideOption = 'buttonIcons'; // TODO: make TS-friendly + BootstrapTheme.prototype.iconOverrideCustomButtonOption = 'icon'; + BootstrapTheme.prototype.iconOverridePrefix = 'bi-'; + + var css_248z = ".fc-theme-bootstrap5 a:not([href]){color:inherit;text-decoration:inherit}.fc-theme-bootstrap5 .fc-list,.fc-theme-bootstrap5 .fc-scrollgrid,.fc-theme-bootstrap5 td,.fc-theme-bootstrap5 th{border:1px solid var(--bs-gray-400)}.fc-theme-bootstrap5 .fc-scrollgrid{border-bottom-width:0;border-right-width:0}.fc-theme-bootstrap5-shaded{background-color:var(--bs-gray-200)}"; + internal$1.injectStyles(css_248z); + + var plugin = core.createPlugin({ + name: '@fullcalendar/bootstrap5', + themeClasses: { + bootstrap5: BootstrapTheme, + }, + }); + + var internal = { + __proto__: null, + BootstrapTheme: BootstrapTheme + }; + + core.globalPlugins.push(plugin); + + exports.Internal = internal; + exports["default"] = plugin; + + Object.defineProperty(exports, '__esModule', { value: true }); + + return exports; + +})({}, FullCalendar, FullCalendar.Internal); diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap5/index.global.min.js b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap5/index.global.min.js new file mode 100644 index 00000000..f3f686fc --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/bootstrap5/index.global.min.js @@ -0,0 +1,6 @@ +/*! +FullCalendar Bootstrap 5 Plugin v6.1.15 +Docs & License: https://fullcalendar.io/docs/bootstrap5 +(c) 2024 Adam Shaw +*/ +FullCalendar.Bootstrap5=function(e,t,o){"use strict";class r extends o.Theme{}r.prototype.classes={root:"fc-theme-bootstrap5",tableCellShaded:"fc-theme-bootstrap5-shaded",buttonGroup:"btn-group",button:"btn btn-primary",buttonActive:"active",popover:"popover",popoverHeader:"popover-header",popoverContent:"popover-body"},r.prototype.baseIconClass="bi",r.prototype.iconClasses={close:"bi-x-lg",prev:"bi-chevron-left",next:"bi-chevron-right",prevYear:"bi-chevron-double-left",nextYear:"bi-chevron-double-right"},r.prototype.rtlIconClasses={prev:"bi-chevron-right",next:"bi-chevron-left",prevYear:"bi-chevron-double-right",nextYear:"bi-chevron-double-left"},r.prototype.iconOverrideOption="buttonIcons",r.prototype.iconOverrideCustomButtonOption="icon",r.prototype.iconOverridePrefix="bi-";o.injectStyles(".fc-theme-bootstrap5 a:not([href]){color:inherit;text-decoration:inherit}.fc-theme-bootstrap5 .fc-list,.fc-theme-bootstrap5 .fc-scrollgrid,.fc-theme-bootstrap5 td,.fc-theme-bootstrap5 th{border:1px solid var(--bs-gray-400)}.fc-theme-bootstrap5 .fc-scrollgrid{border-bottom-width:0;border-right-width:0}.fc-theme-bootstrap5-shaded{background-color:var(--bs-gray-200)}");var a=t.createPlugin({name:"@fullcalendar/bootstrap5",themeClasses:{bootstrap5:r}}),n={__proto__:null,BootstrapTheme:r};return t.globalPlugins.push(a),e.Internal=n,e.default=a,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,FullCalendar.Internal); \ No newline at end of file diff --git a/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/core/index.global.js b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/core/index.global.js new file mode 100644 index 00000000..197a6c45 --- /dev/null +++ b/src/main/webapp/kofair_case_seed/script/plugin/fullcalendar-6.1.15/packages/core/index.global.js @@ -0,0 +1,9856 @@ +/*! +FullCalendar Core v6.1.15 +Docs & License: https://fullcalendar.io +(c) 2024 Adam Shaw +*/ +var FullCalendar = (function (exports) { + 'use strict'; + + const styleTexts = []; + const styleEls = new Map(); + function injectStyles(styleText) { + styleTexts.push(styleText); + styleEls.forEach((styleEl) => { + appendStylesTo(styleEl, styleText); + }); + } + function ensureElHasStyles(el) { + if (el.isConnected && // sometimes true if SSR system simulates DOM + el.getRootNode // sometimes undefined if SSR system simulates DOM + ) { + registerStylesRoot(el.getRootNode()); + } + } + function registerStylesRoot(rootNode) { + let styleEl = styleEls.get(rootNode); + if (!styleEl || !styleEl.isConnected) { + styleEl = rootNode.querySelector('style[data-fullcalendar]'); + if (!styleEl) { + styleEl = document.createElement('style'); + styleEl.setAttribute('data-fullcalendar', ''); + const nonce = getNonceValue(); + if (nonce) { + styleEl.nonce = nonce; + } + const parentEl = rootNode === document ? document.head : rootNode; + const insertBefore = rootNode === document + ? parentEl.querySelector('script,link[rel=stylesheet],link[as=style],style') + : parentEl.firstChild; + parentEl.insertBefore(styleEl, insertBefore); + } + styleEls.set(rootNode, styleEl); + hydrateStylesRoot(styleEl); + } + } + function hydrateStylesRoot(styleEl) { + for (const styleText of styleTexts) { + appendStylesTo(styleEl, styleText); + } + } + function appendStylesTo(styleEl, styleText) { + const { sheet } = styleEl; + const ruleCnt = sheet.cssRules.length; + styleText.split('}').forEach((styleStr, i) => { + styleStr = styleStr.trim(); + if (styleStr) { + sheet.insertRule(styleStr + '}', ruleCnt + i); + } + }); + } + // nonce + // ------------------------------------------------------------------------------------------------- + let queriedNonceValue; + function getNonceValue() { + if (queriedNonceValue === undefined) { + queriedNonceValue = queryNonceValue(); + } + return queriedNonceValue; + } + /* + TODO: discourage meta tag and instead put nonce attribute on placeholder