Index: lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/controller/AuthoringController.java =================================================================== diff -u -r977c1d91def623ad1c8d5adffb4b32c810ef1dc6 -rc6fc9e20588dbb45fc6aba99ebd1867a3b231f24 --- lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 977c1d91def623ad1c8d5adffb4b32c810ef1dc6) +++ lams_tool_spreadsheet/src/java/org/lamsfoundation/lams/tool/spreadsheet/web/controller/AuthoringController.java (.../AuthoringController.java) (revision c6fc9e20588dbb45fc6aba99ebd1867a3b231f24) @@ -105,8 +105,45 @@ return "pages/authoring/start"; } + @RequestMapping("/definelater") + public String defineLater(@ModelAttribute SpreadsheetForm spreadsheetForm, HttpServletRequest request) + throws ServletException { + + Long contentId = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); + Spreadsheet spreadsheet = service.getSpreadsheetByContentId(contentId); + + spreadsheet.setDefineLater(true); + service.saveOrUpdateSpreadsheet(spreadsheet); + + //audit log the teacher has started editing activity in monitor + service.auditLogStartEditingActivityInMonitor(contentId); + + // initial Session Map + SessionMap sessionMap = new SessionMap<>(); + request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); + spreadsheetForm.setSessionMapID(sessionMap.getSessionID()); + + try { + spreadsheet = service.getSpreadsheetByContentId(contentId); + // if spreadsheet does not exist, try to use default content instead. + if (spreadsheet == null) { + spreadsheet = service.getDefaultContent(contentId); + } + spreadsheetForm.setSpreadsheet(spreadsheet); + } catch (Exception e) { + log.error(e); + throw new ServletException(e); + } + + sessionMap.put(SpreadsheetConstants.ATTR_RESOURCE_FORM, spreadsheetForm); + request.getSession().setAttribute(AttributeNames.PARAM_NOTIFY_CLOSE_URL, + request.getParameter(AttributeNames.PARAM_NOTIFY_CLOSE_URL)); + request.setAttribute(AttributeNames.ATTR_MODE, ToolAccessMode.TEACHER.toString()); + + return "pages/authoring/start"; + } + /** - * Display same entire authoring page content from HttpSession variable. */ @RequestMapping("/init") public String initPage(@ModelAttribute SpreadsheetForm spreadsheetForm, HttpServletRequest request) Index: lams_tool_spreadsheet/web/pages/monitoring/editactivity.jsp =================================================================== diff -u -r977c1d91def623ad1c8d5adffb4b32c810ef1dc6 -rc6fc9e20588dbb45fc6aba99ebd1867a3b231f24 --- lams_tool_spreadsheet/web/pages/monitoring/editactivity.jsp (.../editactivity.jsp) (revision 977c1d91def623ad1c8d5adffb4b32c810ef1dc6) +++ lams_tool_spreadsheet/web/pages/monitoring/editactivity.jsp (.../editactivity.jsp) (revision c6fc9e20588dbb45fc6aba99ebd1867a3b231f24) @@ -30,11 +30,11 @@ - + - + \ No newline at end of file