Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dto/SessionDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rb5c36d2f8fb70869f2402ed3457a9513e2db871c --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dto/SessionDTO.java (.../SessionDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/dto/SessionDTO.java (.../SessionDTO.java) (revision b5c36d2f8fb70869f2402ed3457a9513e2db871c) @@ -20,14 +20,14 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.dokumaran.dto; public class SessionDTO { private Long sessionId; private String sessionName; private String padId; + private String readOnlyPadId; private boolean sessionFaulty; public Long getSessionId() { @@ -45,20 +45,28 @@ public void setSessionName(String sessionName) { this.sessionName = sessionName; } - + public String getPadId() { return padId; } public void setPadId(String padId) { this.padId = padId; } - + + public String getReadOnlyPadId() { + return readOnlyPadId; + } + + public void setReadOnlyPadId(String readOnlyPadId) { + this.readOnlyPadId = readOnlyPadId; + } + public boolean isSessionFaulty() { return sessionFaulty; } public void setSessionFaulty(boolean sessionFaulty) { this.sessionFaulty = sessionFaulty; } -} +} \ No newline at end of file Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java =================================================================== diff -u -rf4ea83a53fc9d9b6e3a3607aa0214f4721517959 -rb5c36d2f8fb70869f2402ed3457a9513e2db871c --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java (.../DokumaranService.java) (revision f4ea83a53fc9d9b6e3a3607aa0214f4721517959) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/service/DokumaranService.java (.../DokumaranService.java) (revision b5c36d2f8fb70869f2402ed3457a9513e2db871c) @@ -429,10 +429,9 @@ SessionDTO group = new SessionDTO(); group.setSessionId(session.getSessionId()); group.setSessionName(session.getSessionName()); + group.setPadId(session.getPadId()); + group.setReadOnlyPadId(session.getEtherpadReadOnlyId()); - String padId = session.getPadId(); - group.setPadId(padId); - //mark all session that has had problems with pad initializations so that they could be fixed in monitoring by a teacher if (StringUtils.isEmpty(session.getEtherpadReadOnlyId()) || StringUtils.isEmpty(session.getEtherpadGroupId())) { Index: lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/LearningController.java =================================================================== diff -u -r5ce80833bb0828de219fc5b59e9e73c365da8559 -rb5c36d2f8fb70869f2402ed3457a9513e2db871c --- lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/LearningController.java (.../LearningController.java) (revision 5ce80833bb0828de219fc5b59e9e73c365da8559) +++ lams_tool_doku/src/java/org/lamsfoundation/lams/tool/dokumaran/web/controller/LearningController.java (.../LearningController.java) (revision b5c36d2f8fb70869f2402ed3457a9513e2db871c) @@ -41,6 +41,7 @@ import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.dokumaran.DokumaranConstants; +import org.lamsfoundation.lams.tool.dokumaran.dto.SessionDTO; import org.lamsfoundation.lams.tool.dokumaran.model.Dokumaran; import org.lamsfoundation.lams.tool.dokumaran.model.DokumaranSession; import org.lamsfoundation.lams.tool.dokumaran.model.DokumaranUser; @@ -57,8 +58,10 @@ import org.lamsfoundation.lams.web.util.SessionMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -80,7 +83,7 @@ * method run successfully. * * This method will avoid read database again and lost un-saved resouce item lost when user "refresh page", - * + * * @throws EtherpadException * * @throws DokumaranConfigurationException @@ -96,15 +99,14 @@ request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); request.setAttribute(DokumaranConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); - ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, true); - Long toolSessionId = new Long(request.getParameter(DokumaranConstants.PARAM_TOOL_SESSION_ID)); + Long toolSessionId = WebUtil.readLongParam(request, DokumaranConstants.PARAM_TOOL_SESSION_ID); Dokumaran dokumaran = dokumaranService.getDokumaranBySessionId(toolSessionId); - request.setAttribute(DokumaranConstants.ATTR_TOOL_CONTENT_ID, dokumaran.getContentId()); DokumaranSession session = dokumaranService.getDokumaranSessionBySessionId(toolSessionId); // get back the dokumaran and item list and display them on page DokumaranUser user = null; boolean isFirstTimeAccess = false; + ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, true); if ((mode != null) && mode.isTeacher()) { // monitoring mode - user is specified in URL // dokumaranUser may be null if the user was force completed. @@ -128,7 +130,6 @@ : new ArrayList<>(); // forwards to the leaderSelection page if (dokumaran.isUseSelectLeaderToolOuput() && leaders.isEmpty() && !mode.isTeacher()) { - // get group users and store it to request as DTO objects List groupUsers = dokumaranService.getUsersBySession(toolSessionId); List groupUserDtos = new ArrayList<>(); @@ -164,6 +165,7 @@ sessionMap.put(DokumaranConstants.ATTR_IS_LEADER_RESPONSE_FINALIZED, dokumaranService.isLeaderResponseFinalized(leaders)); sessionMap.put(AttributeNames.PARAM_TOOL_SESSION_ID, toolSessionId); + sessionMap.put(DokumaranConstants.ATTR_TOOL_CONTENT_ID, dokumaran.getContentId()); sessionMap.put(AttributeNames.ATTR_MODE, mode); // reflection information @@ -216,6 +218,7 @@ return "pages/learning/notconfigured"; } } + request.setAttribute(DokumaranConstants.ATTR_PAD_ID, padId); //add new sessionID cookie in order to access pad @@ -254,7 +257,7 @@ * @return */ @RequestMapping("/finish") - private String finish(@ModelAttribute("reflectionForm") ReflectionForm reflectionForm, HttpServletRequest request) { + private String finish(HttpServletRequest request) { // get back SessionMap String sessionMapID = request.getParameter(DokumaranConstants.ATTR_SESSION_MAP_ID); @@ -290,6 +293,7 @@ * @param response * @return */ + @SuppressWarnings("unchecked") @RequestMapping("/newReflection") private String newReflection(@ModelAttribute("reflectionForm") ReflectionForm reflectionForm, HttpServletRequest request) { @@ -316,6 +320,23 @@ return "pages/learning/notebook"; } + @SuppressWarnings("unchecked") + @RequestMapping("/startGalleryWalk") + private String startGalleryWalk(@RequestParam String sessionMapID, HttpServletResponse response, + HttpSession session, Model model) throws EtherpadException { + SessionMap map = (SessionMap) session.getAttribute(sessionMapID); + Long toolSessionID = (Long) map.get(AttributeNames.PARAM_TOOL_SESSION_ID); + Dokumaran dokumaran = dokumaranService.getDokumaranBySessionId(toolSessionID); + List groupList = dokumaranService.getSummary(dokumaran.getContentId()); + model.addAttribute(DokumaranConstants.ATTR_SUMMARY_LIST, groupList); + + UserDTO userDto = (UserDTO) session.getAttribute(AttributeNames.USER); + Cookie cookie = dokumaranService.createEtherpadCookieForMonitor(userDto, dokumaran.getContentId()); + response.addCookie(cookie); + + return "pages/learning/galleryWalk"; + } + /** * Submit reflection form input database. * @@ -350,7 +371,7 @@ dokumaranService.updateEntry(entry); } - return finish(reflectionForm, request); + return finish(request); } // ************************************************************************************* Index: lams_tool_doku/web/pages/learning/galleryWalk.jsp =================================================================== diff -u -r2c0e35f7c458cedfc3d6849224a151a9568546b6 -rb5c36d2f8fb70869f2402ed3457a9513e2db871c --- lams_tool_doku/web/pages/learning/galleryWalk.jsp (.../galleryWalk.jsp) (revision 2c0e35f7c458cedfc3d6849224a151a9568546b6) +++ lams_tool_doku/web/pages/learning/galleryWalk.jsp (.../galleryWalk.jsp) (revision b5c36d2f8fb70869f2402ed3457a9513e2db871c) @@ -13,26 +13,6 @@ <fmt:message key="label.learning.title" /> <%@ include file="/common/header.jsp"%> @@ -47,13 +27,6 @@ etherpadInitMethods[groupId](); } }); - - $('#group-nav-menu').on('affixed.bs.affix', function () { - $('body').scrollspy({ - target: '#group-nav-menu', - offset: 600 - }); - }); }); @@ -65,24 +38,14 @@ - -
-
+