Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaLearningController.java =================================================================== diff -u -re0dcf97659b72435ef0f29c69a4999847ae11d5b -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaLearningController.java (.../QaLearningController.java) (revision e0dcf97659b72435ef0f29c69a4999847ae11d5b) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/controller/QaLearningController.java (.../QaLearningController.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -1176,7 +1176,6 @@ return forwardtoReflection(request, qaContent, toolSessionID, userID, qaLearningForm); } - @RequestMapping("/forwardtoReflection") private String forwardtoReflection(HttpServletRequest request, QaContent qaContent, String toolSessionID, String userID, QaLearningForm reflectionForm) { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaAuthoringForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaAuthoringForm.java (.../QaAuthoringForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaAuthoringForm.java (.../QaAuthoringForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -36,7 +36,6 @@ protected String removeAllContent; protected String submitAllContent; protected String submitTabDone; - protected String dispatch; protected String currentTab; protected String choice; @@ -553,21 +552,6 @@ } /** - * @return Returns the dispatch. - */ - public String getDispatch() { - return dispatch; - } - - /** - * @param dispatch - * The dispatch to set. - */ - public void setDispatch(String dispatch) { - this.dispatch = dispatch; - } - - /** * @return Returns the toolContentID. */ public String getToolContentID() { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaLearningForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaLearningForm.java (.../QaLearningForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaLearningForm.java (.../QaLearningForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -30,9 +30,6 @@ */ public class QaLearningForm implements QaAppConstants { - //controls which method is called by the Lookup map */ - protected String method; - protected String answer; protected String currentQuestionIndex; protected String submitAnswersContent; @@ -268,21 +265,6 @@ } /** - * @return Returns the method. - */ - public String getMethod() { - return method; - } - - /** - * @param method - * The method to set. - */ - public void setMethod(String method) { - this.method = method; - } - - /** * @return Returns the viewAllResults. */ public String getViewAllResults() { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaMonitoringForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaMonitoringForm.java (.../QaMonitoringForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/form/QaMonitoringForm.java (.../QaMonitoringForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -32,8 +32,6 @@ * */ public class QaMonitoringForm extends QaAuthoringForm implements QaAppConstants { - //controls which method is called by the Lookup map */ - protected String method; protected String hideResponse; protected String showResponse; @@ -87,23 +85,6 @@ } /** - * @return Returns the method. - */ - @Override - public String getMethod() { - return method; - } - - /** - * @param method - * The method to set. - */ - @Override - public void setMethod(String method) { - this.method = method; - } - - /** * @return Returns the sessionId. */ public String getSessionId() { Index: lams_tool_laqa/web/learning/IndividualLearnerResults.jsp =================================================================== diff -u -r14949f3bb9736ad6386b56eca018dc1257cb36a1 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_laqa/web/learning/IndividualLearnerResults.jsp (.../IndividualLearnerResults.jsp) (revision 14949f3bb9736ad6386b56eca018dc1257cb36a1) +++ lams_tool_laqa/web/learning/IndividualLearnerResults.jsp (.../IndividualLearnerResults.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -51,7 +51,6 @@ - Index: lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/web/forms/AuthoringForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -44,8 +44,6 @@ private String currentTab; - private String dispatch; - private String sessionMapID; private Long deleteFileUuid; @@ -68,14 +66,6 @@ this.currentTab = currentTab; } - public String getDispatch() { - return dispatch; - } - - public void setDispatch(String dispatch) { - this.dispatch = dispatch; - } - public String getInstructions() { return instructions; } Index: lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/web/forms/MonitoringForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/web/forms/MonitoringForm.java (.../MonitoringForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_leader/src/java/org/lamsfoundation/lams/tool/leaderselection/web/forms/MonitoringForm.java (.../MonitoringForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -30,7 +30,6 @@ private static final long serialVersionUID = 9096908688391850595L; - String dispatch; boolean teacherVisible; Long toolSessionID; @@ -55,14 +54,6 @@ this.messageUID = messageUID; } - public String getDispatch() { - return dispatch; - } - - public void setDispatch(String dispatch) { - this.dispatch = dispatch; - } - public Long getToolSessionID() { return toolSessionID; } Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/AuthoringForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -46,8 +46,6 @@ String currentTab; - String dispatch; - String sessionMapID; SessionMap sessionMap; @@ -76,14 +74,6 @@ this.currentTab = currentTab; } - public String getDispatch() { - return dispatch; - } - - public void setDispatch(String dispatch) { - this.dispatch = dispatch; - } - public String getInstructions() { return instructions; } Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/LearningForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/LearningForm.java (.../LearningForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/LearningForm.java (.../LearningForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -36,7 +36,6 @@ String title; String instructions; - String dispatch; Long toolSessionID; String mode; Boolean contentEditable; @@ -51,14 +50,6 @@ this.mode = mode; } - public String getDispatch() { - return dispatch; - } - - public void setDispatch(String dispatch) { - this.dispatch = dispatch; - } - public Long getToolSessionID() { return toolSessionID; } Index: lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/MonitoringForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/MonitoringForm.java (.../MonitoringForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_notebook/src/java/org/lamsfoundation/lams/tool/notebook/web/forms/MonitoringForm.java (.../MonitoringForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -30,7 +30,6 @@ private static final long serialVersionUID = 9096908688391850595L; - String dispatch; boolean teacherVisible; Long toolSessionID; @@ -55,14 +54,6 @@ this.messageUID = messageUID; } - public String getDispatch() { - return dispatch; - } - - public void setDispatch(String dispatch) { - this.dispatch = dispatch; - } - public Long getToolSessionID() { return toolSessionID; } Index: lams_tool_notebook/web/pages/monitoring/daterestriction.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_notebook/web/pages/monitoring/daterestriction.jsp (.../daterestriction.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_notebook/web/pages/monitoring/daterestriction.jsp (.../daterestriction.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -11,7 +11,7 @@ - + @@ -22,7 +22,7 @@ - + Index: lams_tool_notebook/web/pages/monitoring/summary.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_notebook/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_notebook/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -28,7 +28,7 @@ lams: '${lams}', submissionDeadline: '${submissionDeadline}', submissionDateString: '${submissionDateString}', - setSubmissionDeadlineUrl: '', + setSubmissionDeadlineUrl: '', toolContentID: '${param.toolContentID}', messageNotification: '', messageRestrictionSet: '', Index: lams_tool_scribe/build.xml =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/build.xml (.../build.xml) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/build.xml (.../build.xml) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -18,7 +18,7 @@ ${ant.project.name}: Copying additional Java classes to WAR Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/scribeApplicationContext.xml =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/scribeApplicationContext.xml (.../scribeApplicationContext.xml) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/scribeApplicationContext.xml (.../scribeApplicationContext.xml) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -10,6 +10,13 @@ + + org.lamsfoundation.lams.tool.scribe.ApplicationResources + + + + + Fisheye: Tag 770fb82629331ca1c70c47845ab63b9528b7bc9e refers to a dead (removed) revision in file `lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/AuthoringAction.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/AuthoringController.java =================================================================== diff -u --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/AuthoringController.java (revision 0) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/AuthoringController.java (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -0,0 +1,412 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +package org.lamsfoundation.lams.tool.scribe.web.controller; + +import java.util.Collections; +import java.util.Date; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.ListIterator; +import java.util.Set; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.authoring.web.AuthoringConstants; +import org.lamsfoundation.lams.tool.ToolAccessMode; +import org.lamsfoundation.lams.tool.scribe.model.Scribe; +import org.lamsfoundation.lams.tool.scribe.model.ScribeHeading; +import org.lamsfoundation.lams.tool.scribe.service.IScribeService; +import org.lamsfoundation.lams.tool.scribe.util.ScribeConstants; +import org.lamsfoundation.lams.tool.scribe.web.forms.AuthoringForm; +import org.lamsfoundation.lams.util.MessageService; +import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.util.AttributeNames; +import org.lamsfoundation.lams.web.util.SessionMap; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * + * + * + * + * + * + * + * + * + * + */ +@Controller +@RequestMapping("/authoring") +public class AuthoringController { + + private static Logger logger = Logger.getLogger(AuthoringController.class); + + @Autowired + @Qualifier("lascrbScribeService") + private IScribeService scribeService; + + @Autowired + @Qualifier("lascrbMessageService") + private MessageService messageService; + + // Authoring SessionMap key names + private static final String KEY_TOOL_CONTENT_ID = "toolContentID"; + + private static final String KEY_CONTENT_FOLDER_ID = "contentFolderID"; + + private static final String KEY_MODE = "mode"; + + private static final String KEY_HEADINGS = "headings"; + + /** + * Default method when no dispatch parameter is specified. It is expected + * that the parameter toolContentID will be passed in. This + * will be used to retrieve content for this tool. + * + */ + @RequestMapping("") + protected String unspecified(@ModelAttribute("authoringForm") AuthoringForm authoringForm, + HttpServletRequest request) { + + // Extract toolContentID from parameters. + Long toolContentID = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); + + String contentFolderID = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); + + ToolAccessMode mode = WebUtil.readToolAccessModeAuthorDefaulted(request); + + // retrieving Scribe with given toolContentID + Scribe scribe = scribeService.getScribeByContentId(toolContentID); + if (scribe == null) { + scribe = scribeService.copyDefaultContent(toolContentID); + scribe.setCreateDate(new Date()); + scribeService.saveOrUpdateScribe(scribe); + // TODO NOTE: this causes DB orphans when LD not saved. + } + + // check if content in use is set + if (scribe.isContentInUse()) { + // Cannot edit, send to message page. +// request.setAttribute(ScribeConstants.ATTR_MESSAGE, messageService.getMessage("error.content.locked")); + MultiValueMap infoMap = new LinkedMultiValueMap<>(); + infoMap.add("MESSAGE", messageService.getMessage("error.content.locked")); + request.setAttribute("infoMap",infoMap); + return "common/message"; + } + + if (mode.isTeacher()) { + // Set the defineLater flag so that learners cannot use content + // while we + // are editing. This flag is released when updateContent is called. + scribe.setDefineLater(true); + scribeService.saveOrUpdateScribe(scribe); + + //audit log the teacher has started editing activity in monitor + scribeService.auditLogStartEditingActivityInMonitor(toolContentID); + } + + // Set up the authForm. + updateAuthForm(authoringForm, scribe); + + // Set up sessionMap + SessionMap map = createSessionMap(scribe, mode, contentFolderID, toolContentID); + authoringForm.setSessionMapID(map.getSessionID()); + + // add the sessionMap to HTTPSession. + request.getSession().setAttribute(map.getSessionID(), map); + request.setAttribute(ScribeConstants.ATTR_SESSION_MAP, map); + + return "pages/authoring/authoring"; + } + + @RequestMapping("/updateContent") + public String updateContent(@ModelAttribute("authoringForm") AuthoringForm authoringForm, + HttpServletRequest request) { + // TODO need error checking. + + // get authForm and session map. + SessionMap map = getSessionMap(request, authoringForm); + + // get scribe content. + Scribe scribe = scribeService.getScribeByContentId((Long) map.get(KEY_TOOL_CONTENT_ID)); + + // update scribe content using form inputs + updateScribe(scribe, authoringForm); + + // update headings. + List updatedHeadings = getHeadingList(map); + Set currentHeadings = scribe.getScribeHeadings(); + for (ScribeHeading heading : updatedHeadings) { + // it is update + if (heading.getUid() != null) { + Iterator iter = currentHeadings.iterator(); + while (iter.hasNext()) { + ScribeHeading currHeading = (ScribeHeading) iter.next(); + if (heading.getUid().equals(currHeading.getUid())) { + // update fields + currHeading.setHeadingText(heading.getHeadingText()); + currHeading.setDisplayOrder(heading.getDisplayOrder()); + break; + } + } // go to next heading from page + } else { + currentHeadings.add(heading); + } + } + // remove deleted heading. + Iterator iter = currentHeadings.iterator(); + while (iter.hasNext()) { + ScribeHeading currHeading = (ScribeHeading) iter.next(); + // skip new added heading + if (currHeading.getUid() == null) { + continue; + } + boolean find = false; + for (ScribeHeading heading : updatedHeadings) { + if (currHeading.getUid().equals(heading.getUid())) { + find = true; + break; + } + } + if (!find) { + // delete current heading's report first + scribeService.deleteHeadingReport(currHeading.getUid()); + iter.remove(); + } + } + + // set the update date + scribe.setUpdateDate(new Date()); + + // releasing defineLater flag so that learner can start using the tool. + scribe.setDefineLater(false); + + scribeService.saveOrUpdateScribe(scribe); + + request.setAttribute(AuthoringConstants.LAMS_AUTHORING_SUCCESS_FLAG, Boolean.TRUE); + + // add the sessionMapID to form + authoringForm.setSessionMapID(map.getSessionID()); + + request.setAttribute(ScribeConstants.ATTR_SESSION_MAP, map); + + return "pages/authoring/authoring"; + } + + @RequestMapping("/loadHeadingForm") + public String loadHeadingForm(@ModelAttribute("authoringForm") AuthoringForm authoringForm, + HttpServletRequest request) { + + String sessionMapID = WebUtil.readStrParam(request, "sessionMapID"); + Integer headingIndex = WebUtil.readIntParam(request, "headingIndex", true); + + if (headingIndex == null) { + headingIndex = -1; + } + + authoringForm.setHeadingIndex(headingIndex); + authoringForm.setSessionMapID(sessionMapID); + + return "pages/authoring/headingForm"; + } + + @RequestMapping("/addOrUpdateHeading") + public String addOrUpdateHeading(@ModelAttribute("authoringForm") AuthoringForm authoringForm, + HttpServletRequest request) { + + SessionMap map = getSessionMap(request, authoringForm); + + String headingText = authoringForm.getHeading(); + Integer headingIndex = authoringForm.getHeadingIndex(); + Long toolContentID = getToolContentID(map); + + Scribe scribe = scribeService.getScribeByContentId(toolContentID); + + if (headingIndex == -1) { + // create a new heading + List headings = getHeadingList(map); + + ScribeHeading scribeHeading = new ScribeHeading(headings.size()); + scribeHeading.setScribe(scribe); + scribeHeading.setHeadingText(headingText); + + headings.add(scribeHeading); + } else { + // update the existing heading + ScribeHeading heading = getHeadingList(map).get(headingIndex); + heading.setHeadingText(headingText); + } + + request.setAttribute("sessionMapID", map.getSessionID()); + return "pages/authoring/headingResponse"; + } + + @RequestMapping("/moveHeading") + public String moveHeading(@ModelAttribute("authoringForm") AuthoringForm authoringForm, + HttpServletRequest request) { + + SessionMap map = getSessionMap(request, authoringForm); + + int headingIndex = WebUtil.readIntParam(request, "headingIndex"); + String direction = WebUtil.readStrParam(request, "direction"); + + ListIterator iter = getHeadingList(map).listIterator(headingIndex); + + ScribeHeading heading = iter.next(); + iter.remove(); + + // move to correct location + if (direction.equals("up")) { + if (iter.hasPrevious()) { + iter.previous(); + } + } else if (direction.equals("down")) { + if (iter.hasNext()) { + iter.next(); + } + } else { + // invalid direction, don't move anywhere. + logger.error("moveHeading: received invalid direction : " + direction); + } + + // adding heading back into list + iter.add(heading); + + // update the displayOrder + int i = 0; + for (ScribeHeading elem : getHeadingList(map)) { + elem.setDisplayOrder(i); + i++; + } + + request.setAttribute("sessionMapID", map.getSessionID()); + return "pages/authoring/headingResponse"; + } + + @RequestMapping("/deleteHeading") + public String deleteHeading(@ModelAttribute("authoringForm") AuthoringForm authoringForm, + HttpServletRequest request) { + + SessionMap map = getSessionMap(request, authoringForm); + + Integer headingIndex = authoringForm.getHeadingIndex(); + + getHeadingList(map).remove(headingIndex.intValue()); + + request.setAttribute("sessionMapID", map.getSessionID()); + return "pages/authoring/headingResponse"; + + } + + /* ========== Private Methods ********** */ + + /** + * Updates Scribe content using AuthoringForm inputs. + * + * @param authoringForm + * @param mode + * @return + */ + private void updateScribe(Scribe scribe, AuthoringForm authoringForm) { + scribe.setTitle(authoringForm.getTitle()); + scribe.setInstructions(authoringForm.getInstructions()); + scribe.setReflectOnActivity(authoringForm.isReflectOnActivity()); + scribe.setReflectInstructions(authoringForm.getReflectInstructions()); + scribe.setAutoSelectScribe(authoringForm.isAutoSelectScribe()); + scribe.setShowAggregatedReports(authoringForm.isShowAggregatedReports()); + } + + /** + * Updates AuthoringForm using Scribe content. + * + * @param scribe + * @param authoringForm + * @return + */ + private void updateAuthForm(AuthoringForm authoringForm, Scribe scribe) { + authoringForm.setTitle(scribe.getTitle()); + authoringForm.setInstructions(scribe.getInstructions()); + authoringForm.setReflectOnActivity(scribe.isReflectOnActivity()); + authoringForm.setReflectInstructions(scribe.getReflectInstructions()); + authoringForm.setAutoSelectScribe(scribe.isAutoSelectScribe()); + authoringForm.setShowAggregatedReports(scribe.isShowAggregatedReports()); + } + + /** + * Updates SessionMap using Scribe content. + * + * @param scribe + * @param mode + */ + private SessionMap createSessionMap(Scribe scribe, ToolAccessMode mode, String contentFolderID, + Long toolContentID) { + + SessionMap map = new SessionMap<>(); + + map.put(KEY_MODE, mode); + map.put(KEY_CONTENT_FOLDER_ID, contentFolderID); + map.put(KEY_TOOL_CONTENT_ID, toolContentID); + map.put(KEY_HEADINGS, new LinkedList()); + + // adding headings + Iterator iter = scribe.getScribeHeadings().iterator(); + while (iter.hasNext()) { + ScribeHeading element = (ScribeHeading) iter.next(); + getHeadingList(map).add(element); + } + + // sorting headings according to displayOrder. + Collections.sort(getHeadingList(map)); + + return map; + } + + private List getHeadingList(SessionMap map) { + return (List) map.get(KEY_HEADINGS); + } + + /** + * Retrieve the SessionMap from the HttpSession. + * + * @param request + * @param authForm + * @return + */ + private SessionMap getSessionMap(HttpServletRequest request, AuthoringForm authForm) { + return (SessionMap) request.getSession().getAttribute(authForm.getSessionMapID()); + } + + private Long getToolContentID(SessionMap map) { + return (Long) map.get(KEY_TOOL_CONTENT_ID); + } +} \ No newline at end of file Fisheye: Tag 770fb82629331ca1c70c47845ab63b9528b7bc9e refers to a dead (removed) revision in file `lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/ClearSessionAction.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/ClearSessionController.java =================================================================== diff -u --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/ClearSessionController.java (revision 0) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/ClearSessionController.java (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -0,0 +1,67 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +package org.lamsfoundation.lams.tool.scribe.web.controller; + +import java.io.IOException; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.lamsfoundation.lams.authoring.web.LamsAuthoringFinishController; +import org.lamsfoundation.lams.tool.ToolAccessMode; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.context.WebApplicationContext; + +/** + * This class give a chance to clear HttpSession when user save/close authoring page. + * + * @author Steve.Ni + * + * + * + * + * @version $Revision$ + */ +@Controller +public class ClearSessionController extends LamsAuthoringFinishController { + + @Autowired + private WebApplicationContext applicationContext; + + @RequestMapping("/clearsession") + public void execute(HttpServletRequest request, HttpServletResponse response) throws IOException { + super.execute(request, response, applicationContext); + } + + @Override + public void clearSession(String customiseSessionID, HttpSession session, ToolAccessMode mode) { + if (mode.isAuthor()) { + session.removeAttribute(customiseSessionID); + } + } + +} Fisheye: Tag 770fb82629331ca1c70c47845ab63b9528b7bc9e refers to a dead (removed) revision in file `lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningAction.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningController.java =================================================================== diff -u --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningController.java (revision 0) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/LearningController.java (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -0,0 +1,343 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +package org.lamsfoundation.lams.tool.scribe.web.controller; + +import java.io.IOException; +import java.util.TreeMap; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; +import org.lamsfoundation.lams.tool.ToolAccessMode; +import org.lamsfoundation.lams.tool.ToolSessionManager; +import org.lamsfoundation.lams.tool.exception.DataMissingException; +import org.lamsfoundation.lams.tool.exception.ToolException; +import org.lamsfoundation.lams.tool.scribe.dto.ScribeDTO; +import org.lamsfoundation.lams.tool.scribe.dto.ScribeSessionDTO; +import org.lamsfoundation.lams.tool.scribe.dto.ScribeUserDTO; +import org.lamsfoundation.lams.tool.scribe.model.Scribe; +import org.lamsfoundation.lams.tool.scribe.model.ScribeSession; +import org.lamsfoundation.lams.tool.scribe.model.ScribeUser; +import org.lamsfoundation.lams.tool.scribe.service.IScribeService; +import org.lamsfoundation.lams.tool.scribe.service.ScribeServiceProxy; +import org.lamsfoundation.lams.tool.scribe.util.ScribeConstants; +import org.lamsfoundation.lams.tool.scribe.util.ScribeException; +import org.lamsfoundation.lams.tool.scribe.util.ScribeUtils; +import org.lamsfoundation.lams.tool.scribe.web.forms.LearningForm; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.MessageService; +import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.context.WebApplicationContext; + +@Controller +@RequestMapping("/learning") +public class LearningController { + + private static Logger log = Logger.getLogger(LearningController.class); + + private static final boolean MODE_OPTIONAL = false; + + @Autowired + @Qualifier("lascrbScribeService") + private IScribeService scribeService; + + @Autowired + @Qualifier("lascrbMessageService") + private MessageService messageService; + + @Autowired + private WebApplicationContext applicationContext; + + @RequestMapping("") + public String unspecified(@ModelAttribute("learningForm") LearningForm learningform, HttpServletRequest request) + throws Exception { + // 'toolSessionID' and 'mode' paramters are expected to be present. + ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, + LearningController.MODE_OPTIONAL); + + Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); + + scribeService.createReportEntry(toolSessionID); + + // Retrieve the session and content. + ScribeSession scribeSession = scribeService.getSessionBySessionId(toolSessionID); + if (scribeSession == null) { + throw new ScribeException("Cannot retrieve session with toolSessionID" + toolSessionID); + } + Scribe scribe = scribeSession.getScribe(); + + // check defineLater + if (scribe.isDefineLater()) { + return "/pages/learning/defineLater"; + } + + // Ensure that the content in use flag is set. + if (!scribe.isContentInUse()) { + scribe.setContentInUse(new Boolean(true)); + scribeService.saveOrUpdateScribe(scribe); + } + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(toolSessionID, request, + applicationContext.getServletContext()); + + // Retrieve the current user + ScribeUser scribeUser = getCurrentUser(toolSessionID); + + // check whether scribe has been appointed + while (scribeSession.getAppointedScribe() == null) { + // check autoSelectScribe + if (scribe.isAutoSelectScribe() == false) { + // learner needs to wait until a scribe has been appointed by + // teacher. + return "pages/learning/waitForScribe"; + + } else { + // appoint the currentUser as the scribe + scribeSession.setAppointedScribe(scribeUser); + scribeService.saveOrUpdateScribeSession(scribeSession); + } + } + + // setup dto's forms and attributes. + learningform.setToolSessionID(scribeSession.getSessionId()); + request.setAttribute("MODE", mode.toString()); + setupDTOs(request, scribeSession, scribeUser); + + // check force complete + if (scribeSession.isForceComplete()) { + // go to report page + if (scribeSession.getScribe().isShowAggregatedReports()) { + setupOtherGroupReportDTO(request, scribeSession, scribeUser); + } + return "pages/learning/report"; + } + + // check if user has started activity + if (!scribeUser.isStartedActivity()) { + if (scribeSession.getAppointedScribe().getUid() == scribeUser.getUid()) { + request.setAttribute("role", "scribe"); + } else { + request.setAttribute("role", "learner"); + } + return "pages/learning/instructions"; + } + + // check if current user is the scribe. + if (scribeSession.getAppointedScribe().getUid() == scribeUser.getUid()) { + return "pages/learning/scribe"; + } else { + return "pages/learning/learning"; + } + + } + + private ScribeUser getCurrentUser(Long toolSessionID) { + UserDTO user = (UserDTO) SessionManager.getSession().getAttribute(AttributeNames.USER); + + // attempt to retrieve user using userId and toolSessionID + ScribeUser scribeUser = scribeService.getUserByUserIdAndSessionId(new Long(user.getUserID().intValue()), + toolSessionID); + + if (scribeUser == null) { + ScribeSession scribeSession = scribeService.getSessionBySessionId(toolSessionID); + scribeUser = scribeService.createScribeUser(user, scribeSession); + } + + return scribeUser; + } + + @RequestMapping("/startActivity") + public String startActivity(@ModelAttribute("learningForm") LearningForm learningform, HttpServletRequest request) { + + Long toolSessionID = learningform.getToolSessionID(); + + ScribeSession scribeSession = scribeService.getSessionBySessionId(toolSessionID); + ScribeUser scribeUser = getCurrentUser(toolSessionID); + + // setup dto's, forms and attributes. + learningform.setToolSessionID(scribeSession.getSessionId()); + request.setAttribute("MODE", learningform.getMode()); + setupDTOs(request, scribeSession, scribeUser); + + // update scribe user and go to instructions page + scribeUser.setStartedActivity(true); + scribeService.saveOrUpdateScribeUser(scribeUser); + + // check if current user is the scribe. + if (scribeSession.getAppointedScribe().getUid() == scribeUser.getUid()) { + return "pages/learning/scribe"; + } + + return "pages/learning/learning"; + } + + @RequestMapping("/finishActivity") + public String finishActivity(@ModelAttribute("learningForm") LearningForm learningform, HttpServletRequest request, + HttpServletResponse response) { + + // set the finished flag + ScribeUser scribeUser = scribeService.getUserByUID(learningform.getScribeUserUID()); + if (scribeUser != null) { + scribeUser.setFinishedActivity(true); + scribeService.saveOrUpdateScribeUser(scribeUser); + } else { + LearningController.log + .error("finishActivity(): couldn't find ScribeUser with uid: " + learningform.getScribeUserUID()); + } + + ToolSessionManager sessionMgrService = ScribeServiceProxy + .getScribeSessionManager(applicationContext.getServletContext()); + + HttpSession ss = SessionManager.getSession(); + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + Long userID = new Long(user.getUserID().longValue()); + Long toolSessionID = scribeUser.getScribeSession().getSessionId(); + + String nextActivityUrl; + try { + nextActivityUrl = sessionMgrService.leaveToolSession(toolSessionID, userID); + response.sendRedirect(nextActivityUrl); + } catch (DataMissingException e) { + throw new ScribeException(e); + } catch (ToolException e) { + throw new ScribeException(e); + } catch (IOException e) { + throw new ScribeException(e); + } + + return null; // TODO need to return proper page. + } + + @RequestMapping("/openNotebook") + public String openNotebook(@ModelAttribute("learningForm") LearningForm learningform, HttpServletRequest request, + HttpServletResponse response) { + + // set the finished flag + ScribeUser scribeUser = scribeService.getUserByUID(learningform.getScribeUserUID()); + ScribeDTO scribeDTO = new ScribeDTO(scribeUser.getScribeSession().getScribe()); + + request.setAttribute("scribeDTO", scribeDTO); + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(scribeUser.getScribeSession().getSessionId(), + request, applicationContext.getServletContext()); + + return "pages/learning/notebook"; + } + + @RequestMapping(value = "/submitReflection", method = RequestMethod.POST) + public String submitReflection(@ModelAttribute("learningForm") LearningForm learningform, + HttpServletRequest request, HttpServletResponse response) { + + // save the reflection entry and call the notebook. + + ScribeUser scribeUser = scribeService.getUserByUID(learningform.getScribeUserUID()); + + scribeService.createNotebookEntry(scribeUser.getScribeSession().getSessionId(), + CoreNotebookConstants.NOTEBOOK_TOOL, ScribeConstants.TOOL_SIGNATURE, scribeUser.getUserId().intValue(), + learningform.getEntryText()); + + return finishActivity(learningform, request, response); + } + + @RequestMapping("/forceCompleteActivity") + public String forceCompleteActivity(@ModelAttribute("learningForm") LearningForm learningform, + HttpServletRequest request, HttpServletResponse response) throws IOException { + ScribeUser scribeUser = scribeService.getUserByUID(learningform.getScribeUserUID()); + ScribeSession session = scribeUser.getScribeSession(); + + if (session.getAppointedScribe().getUid() == scribeUser.getUid()) { + session.setForceComplete(true); + } else { + // TODO need to implement this. + LearningController.log + .error("ScribeUserUID: " + scribeUser.getUid() + " is not allowed to forceComplete this session"); + } + + request.setAttribute("MODE", learningform.getMode()); + setupDTOs(request, session, scribeUser); + scribeService.saveOrUpdateScribeUser(scribeUser); + + if (session.getScribe().isShowAggregatedReports()) { + setupOtherGroupReportDTO(request, session, scribeUser); + } + + LearningWebUtil.putActivityPositionInRequestByToolSessionId(session.getSessionId(), request, + applicationContext.getServletContext()); + + return "pages/learning/report"; + } + + // Private methods. + + /** + * Set up all the DTO relating to this session. Doesn't set up the DTO containing the reports of the other groups. + */ + private void setupDTOs(HttpServletRequest request, ScribeSession scribeSession, ScribeUser scribeUser) { + + ScribeDTO scribeDTO = new ScribeDTO(scribeSession.getScribe()); + request.setAttribute("scribeDTO", scribeDTO); + + ScribeSessionDTO sessionDTO = new ScribeSessionDTO(scribeSession); + request.setAttribute("scribeSessionDTO", sessionDTO); + + ScribeUserDTO scribeUserDTO = new ScribeUserDTO(scribeUser); + if (scribeUser.isFinishedActivity()) { + // get the notebook entry. + NotebookEntry notebookEntry = scribeService.getEntry(scribeSession.getSessionId(), + CoreNotebookConstants.NOTEBOOK_TOOL, ScribeConstants.TOOL_SIGNATURE, + scribeUser.getUserId().intValue()); + if (notebookEntry != null) { + scribeUserDTO.notebookEntry = notebookEntry.getEntry(); + } + } + request.setAttribute("scribeUserDTO", scribeUserDTO); + } + + /** + * Create a map of the reports (in ScribeSessionDTO format) for all the other groups/sessions, where the key is the + * group/session name. The code ensures that the session name is unique, adding the session id if necessary. It will + * only include the finalized reports. + */ + private void setupOtherGroupReportDTO(HttpServletRequest request, ScribeSession scribeSession, + ScribeUser scribeUser) { + TreeMap otherScribeSessions = ScribeUtils.getReportDTOs(scribeSession); + if (otherScribeSessions.size() > 0) { + request.setAttribute("otherScribeSessions", otherScribeSessions.values()); + } + } + +} Fisheye: Tag 770fb82629331ca1c70c47845ab63b9528b7bc9e refers to a dead (removed) revision in file `lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/MonitoringAction.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/MonitoringController.java =================================================================== diff -u --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/MonitoringController.java (revision 0) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/MonitoringController.java (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -0,0 +1,208 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +package org.lamsfoundation.lams.tool.scribe.web.controller; + +import java.io.IOException; +import java.util.Iterator; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.notebook.model.NotebookEntry; +import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; +import org.lamsfoundation.lams.tool.scribe.dto.ScribeDTO; +import org.lamsfoundation.lams.tool.scribe.dto.ScribeSessionDTO; +import org.lamsfoundation.lams.tool.scribe.dto.ScribeUserDTO; +import org.lamsfoundation.lams.tool.scribe.model.Scribe; +import org.lamsfoundation.lams.tool.scribe.model.ScribeSession; +import org.lamsfoundation.lams.tool.scribe.model.ScribeUser; +import org.lamsfoundation.lams.tool.scribe.service.IScribeService; +import org.lamsfoundation.lams.tool.scribe.util.ScribeConstants; +import org.lamsfoundation.lams.tool.scribe.util.ScribeUtils; +import org.lamsfoundation.lams.tool.scribe.web.forms.MonitoringForm; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * @author + * @version + * + * + * + * + * + * + * + */ +@Controller +@RequestMapping("/monitoring") +public class MonitoringController { + + private static Logger log = Logger.getLogger(MonitoringController.class); + + @Autowired + @Qualifier("lascrbScribeService") + private IScribeService scribeService; + + @RequestMapping("") + public String unspecified(@ModelAttribute("monitoringForm") MonitoringForm monitoringForm, + HttpServletRequest request) { + log.info("excuting monitoring action"); + + Long toolContentID = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); + + String contentFolderID = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); + monitoringForm.setContentFolderID(contentFolderID); + + monitoringForm.setCurrentTab(WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_TAB, true)); + + Scribe scribe = scribeService.getScribeByContentId(toolContentID); + + ScribeDTO scribeDTO = setupScribeDTO(scribe); + boolean isGroupedActivity = scribeService.isGroupedActivity(toolContentID); + request.setAttribute("isGroupedActivity", isGroupedActivity); + request.setAttribute("monitoringDTO", scribeDTO); + request.setAttribute("contentFolderID", contentFolderID); + + return "pages/monitoring/monitoring"; + } + + @RequestMapping("/openNotebook") + public String openNotebook(HttpServletRequest request) { + + Long uid = WebUtil.readLongParam(request, "uid", false); + + ScribeUser scribeUser = scribeService.getUserByUID(uid); + NotebookEntry notebookEntry = scribeService.getEntry(scribeUser.getScribeSession().getSessionId(), + CoreNotebookConstants.NOTEBOOK_TOOL, ScribeConstants.TOOL_SIGNATURE, scribeUser.getUserId().intValue()); + + ScribeUserDTO scribeUserDTO = new ScribeUserDTO(scribeUser); + scribeUserDTO.setNotebookEntry(notebookEntry.getEntry()); + + request.setAttribute("scribeUserDTO", scribeUserDTO); + + return "pages/monitoring/notebook"; + } + + @RequestMapping("/appointScribe") + public String appointScribe(@ModelAttribute("monitoringForm") MonitoringForm monitoringForm, + HttpServletRequest request) { + + ScribeSession session = scribeService.getSessionBySessionId(monitoringForm.getToolSessionID()); + ScribeUser user = scribeService.getUserByUID(monitoringForm.getAppointedScribeUID()); + + session.setAppointedScribe(user); + scribeService.saveOrUpdateScribeSession(session); + + ScribeDTO scribeDTO = setupScribeDTO(session.getScribe()); + boolean isGroupedActivity = scribeService.isGroupedActivity(session.getScribe().getToolContentId()); + request.setAttribute("isGroupedActivity", isGroupedActivity); + request.setAttribute("monitoringDTO", scribeDTO); + request.setAttribute("contentFolderID", monitoringForm.getContentFolderID()); + + monitoringForm.setCurrentTab(WebUtil.readLongParam(request, AttributeNames.PARAM_CURRENT_TAB, true)); + + return "pages/monitoring/monitoring"; + } + + @RequestMapping("/forceCompleteActivity") + public String forceCompleteActivity(@ModelAttribute("monitoringForm") MonitoringForm monitoringForm, + HttpServletRequest request) throws IOException { + + ScribeSession session = scribeService.getSessionBySessionId(monitoringForm.getToolSessionID()); + session.setForceComplete(true); + scribeService.saveOrUpdateScribeSession(session); + + ScribeDTO scribeDTO = setupScribeDTO(session.getScribe()); + request.setAttribute("monitoringDTO", scribeDTO); + request.setAttribute("contentFolderID", monitoringForm.getContentFolderID()); + + return "pages/monitoring/monitoring"; + } + + /* Private Methods */ + + private ScribeDTO setupScribeDTO(Scribe scribe) { + ScribeDTO scribeDTO = new ScribeDTO(scribe); + + for (Iterator sessIter = scribe.getScribeSessions().iterator(); sessIter.hasNext();) { + ScribeSession session = (ScribeSession) sessIter.next(); + + ScribeSessionDTO sessionDTO = new ScribeSessionDTO(session); + int numberOfVotes = 0; + + for (Iterator userIter = session.getScribeUsers().iterator(); userIter.hasNext();) { + ScribeUser user = (ScribeUser) userIter.next(); + ScribeUserDTO userDTO = new ScribeUserDTO(user); + + // get the notebook entry. + NotebookEntry notebookEntry = scribeService.getEntry(session.getSessionId(), + CoreNotebookConstants.NOTEBOOK_TOOL, ScribeConstants.TOOL_SIGNATURE, + user.getUserId().intValue()); + if (notebookEntry != null) { + userDTO.finishedReflection = true; + } else { + userDTO.finishedReflection = false; + } + + if (user.isReportApproved()) { + numberOfVotes++; + } + + sessionDTO.getUserDTOs().add(userDTO); + } + int numberOfLearners = session.getScribeUsers().size(); + + sessionDTO.setNumberOfVotes(numberOfVotes); + sessionDTO.setNumberOfLearners(numberOfLearners); + sessionDTO.setVotePercentage(ScribeUtils.calculateVotePercentage(numberOfVotes, numberOfLearners)); + scribeDTO.getSessionDTOs().add(sessionDTO); + } + + return scribeDTO; + + } + + private ScribeUser getCurrentUser(Long toolSessionID) { + UserDTO user = (UserDTO) SessionManager.getSession().getAttribute(AttributeNames.USER); + + // attempt to retrieve user using userId and toolSessionID + ScribeUser scribeUser = scribeService.getUserByUserIdAndSessionId(new Long(user.getUserID().intValue()), + toolSessionID); + + if (scribeUser == null) { + ScribeSession scribeSession = scribeService.getSessionBySessionId(toolSessionID); + scribeUser = scribeService.createScribeUser(user, scribeSession); + } + + return scribeUser; + } +} Fisheye: Tag 770fb82629331ca1c70c47845ab63b9528b7bc9e refers to a dead (removed) revision in file `lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/PedagogicalPlannerAction.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/PedagogicalPlannerController.java =================================================================== diff -u --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/PedagogicalPlannerController.java (revision 0) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/controller/PedagogicalPlannerController.java (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -0,0 +1,139 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +package org.lamsfoundation.lams.tool.scribe.web.controller; + +import java.io.IOException; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.tool.scribe.model.Scribe; +import org.lamsfoundation.lams.tool.scribe.model.ScribeHeading; +import org.lamsfoundation.lams.tool.scribe.service.IScribeService; +import org.lamsfoundation.lams.tool.scribe.web.forms.ScribePedagogicalPlannerForm; +import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.util.AttributeNames; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Controller; +import org.springframework.util.MultiValueMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; + +/** + * @author + * @version + * + * + * + * + * + */ +@Controller +@RequestMapping("/pedagogicalPlanner") +public class PedagogicalPlannerController { + + private static Logger logger = Logger.getLogger(PedagogicalPlannerController.class); + + @Autowired + @Qualifier("lascrbScribeService") + private IScribeService scribeService; + + @RequestMapping("") + protected String unspecified(@ModelAttribute("pedagogicalPlannerForm") ScribePedagogicalPlannerForm pedagogicalPlannerForm, + HttpServletRequest request) { + return initPedagogicalPlannerForm(pedagogicalPlannerForm, request); + } + + @RequestMapping("/initPedagogicalPlannerForm") + public String initPedagogicalPlannerForm(@ModelAttribute("pedagogicalPlannerForm") ScribePedagogicalPlannerForm pedagogicalPlannerForm, + HttpServletRequest request) { + Long toolContentID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID); + Scribe scribe = scribeService.getScribeByContentId(toolContentID); + pedagogicalPlannerForm.fillForm(scribe); + String contentFolderId = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); + pedagogicalPlannerForm.setContentFolderID(contentFolderId); + return "pages/authoring/pedagogicalPlannerForm"; + } + + @RequestMapping(value = "/saveOrUpdatePedagogicalPlannerForm", method = RequestMethod.POST) + public String saveOrUpdatePedagogicalPlannerForm( + @ModelAttribute("pedagogicalPlannerForm") ScribePedagogicalPlannerForm pedagogicalPlannerForm, HttpServletRequest request) + throws IOException { + MultiValueMap errorMap = pedagogicalPlannerForm.validate(); + if (errorMap.isEmpty()) { + Scribe scribe = scribeService.getScribeByContentId(pedagogicalPlannerForm.getToolContentID()); + + int headingIndex = 0; + String heading = null; + ScribeHeading scribeHeading = null; + List newHeadings = new LinkedList<>(); + Iterator scribeHeadingIterator = scribe.getScribeHeadings().iterator(); + do { + heading = pedagogicalPlannerForm.getHeading(headingIndex); + if (StringUtils.isEmpty(heading)) { + pedagogicalPlannerForm.removeHeading(headingIndex); + } else { + if (scribeHeadingIterator.hasNext()) { + scribeHeading = scribeHeadingIterator.next(); + scribeHeading.setDisplayOrder(headingIndex); + } else { + scribeHeading = new ScribeHeading(); + scribeHeading.setHeadingText(heading); + scribeHeading.setDisplayOrder(headingIndex); + + newHeadings.add(scribeHeading); + scribeHeading.setScribe(scribe); + } + headingIndex++; + } + + } while (heading != null); + while (scribeHeadingIterator.hasNext()) { + scribeHeading = scribeHeadingIterator.next(); + scribeHeadingIterator.remove(); + scribeService.deleteHeading(scribeHeading.getUid()); + } + scribe.getScribeHeadings().addAll(newHeadings); + scribeService.saveOrUpdateScribe(scribe); + } else { + request.setAttribute("errorMap", errorMap); + } + return "pages/authoring/pedagogicalPlannerForm"; + } + + @RequestMapping("/createPedagogicalPlannerHeading") + public String createPedagogicalPlannerHeading( + @ModelAttribute("pedagogicalPlannerForm") ScribePedagogicalPlannerForm pedagogicalPlannerForm, HttpServletRequest request, + HttpServletResponse response) { + pedagogicalPlannerForm.setHeading(pedagogicalPlannerForm.getHeadingCount().intValue(), ""); + return "pages/authoring/pedagogicalPlannerForm"; + } +} \ No newline at end of file Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/AuthoringForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/AuthoringForm.java (.../AuthoringForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -21,23 +21,14 @@ * **************************************************************** */ - - package org.lamsfoundation.lams.tool.scribe.web.forms; -import javax.servlet.http.HttpServletRequest; - -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; import org.apache.struts.upload.FormFile; /** * */ -public class AuthoringForm extends ActionForm { +public class AuthoringForm { private static final long serialVersionUID = 3950453134542135495L; @@ -76,14 +67,6 @@ String heading; Integer headingIndex; - @Override - public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) { - ActionErrors ac = new ActionErrors(); - ac.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("this is an error")); - - return ac; - } - public String getSessionMapID() { return sessionMapID; } Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/LearningForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/LearningForm.java (.../LearningForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/LearningForm.java (.../LearningForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -21,22 +21,18 @@ * **************************************************************** */ - - package org.lamsfoundation.lams.tool.scribe.web.forms; import java.util.HashMap; import java.util.Map; -import org.apache.struts.action.ActionForm; - /** * * @author Anthony Sukkar * * */ -public class LearningForm extends ActionForm { +public class LearningForm { private static final long serialVersionUID = -4728946254882237144L; Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/MonitoringForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/MonitoringForm.java (.../MonitoringForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/MonitoringForm.java (.../MonitoringForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -21,16 +21,12 @@ * **************************************************************** */ - - package org.lamsfoundation.lams.tool.scribe.web.forms; -import org.apache.struts.action.ActionForm; - /** * */ -public class MonitoringForm extends ActionForm { +public class MonitoringForm { private static final long serialVersionUID = 9096908688391850595L; Index: lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/ScribePedagogicalPlannerForm.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/ScribePedagogicalPlannerForm.java (.../ScribePedagogicalPlannerForm.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/src/java/org/lamsfoundation/lams/tool/scribe/web/forms/ScribePedagogicalPlannerForm.java (.../ScribePedagogicalPlannerForm.java) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -20,38 +20,37 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.scribe.web.forms; import java.util.ArrayList; import java.util.List; import java.util.Set; -import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.tool.scribe.model.Scribe; import org.lamsfoundation.lams.tool.scribe.model.ScribeHeading; -import org.lamsfoundation.lams.web.planner.PedagogicalPlannerActivityForm; +import org.lamsfoundation.lams.web.planner.PedagogicalPlannerActivitySpringForm; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; /** * */ -public class ScribePedagogicalPlannerForm extends PedagogicalPlannerActivityForm { +public class ScribePedagogicalPlannerForm extends PedagogicalPlannerActivitySpringForm { private List headings; private String contentFolderID; - @Override - public ActionMessages validate() { - ActionMessages errors = new ActionMessages(); + public MultiValueMap validate() { + MultiValueMap errorMap = new LinkedMultiValueMap<>(); boolean valid = true; setValid(valid); - return errors; + return errorMap; } public void fillForm(Scribe scribe) { if (scribe != null) { setToolContentID(scribe.getToolContentId()); - headings = new ArrayList(); + headings = new ArrayList<>(); Set scribeHeadings = scribe.getScribeHeadings(); if (scribeHeadings != null) { @@ -65,7 +64,7 @@ public void setHeading(int number, String heading) { if (headings == null) { - headings = new ArrayList(); + headings = new ArrayList<>(); } while (number >= headings.size()) { headings.add(null); Index: lams_tool_scribe/web/WEB-INF/tags/AuthoringButton.tag =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/WEB-INF/tags/AuthoringButton.tag (.../AuthoringButton.tag) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -32,7 +32,6 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ attribute name="formID" required="true" rtexprvalue="true" %> @@ -123,11 +122,11 @@ } \ No newline at end of file Index: lams_tool_scribe/web/WEB-INF/tags/AuthoringRatingAllStyleCriteria.tag =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/WEB-INF/tags/AuthoringRatingAllStyleCriteria.tag (.../AuthoringRatingAllStyleCriteria.tag) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/WEB-INF/tags/AuthoringRatingAllStyleCriteria.tag (.../AuthoringRatingAllStyleCriteria.tag) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -8,7 +8,6 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> Index: lams_tool_scribe/web/WEB-INF/tags/AuthoringRatingCriteria.tag =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/WEB-INF/tags/AuthoringRatingCriteria.tag (.../AuthoringRatingCriteria.tag) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/WEB-INF/tags/AuthoringRatingCriteria.tag (.../AuthoringRatingCriteria.tag) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -8,9 +8,9 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ attribute name="criterias" required="true" rtexprvalue="true" type="java.util.Collection" %> @@ -284,42 +284,42 @@ - - + + - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + - - + + - - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + Index: lams_tool_scribe/web/WEB-INF/tags/CommentsAuthor.tag =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/WEB-INF/tags/CommentsAuthor.tag (.../CommentsAuthor.tag) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/WEB-INF/tags/CommentsAuthor.tag (.../CommentsAuthor.tag) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -1,7 +1,7 @@ <%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="tags-html" prefix="html"%> <%@ taglib uri="tags-fmt" prefix="fmt"%> <%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ attribute name="allowCommentsVariableName" required="false" rtexprvalue="true"%> <%@ attribute name="allowCommentLabelKey" required="false" rtexprvalue="true"%> @@ -42,23 +42,23 @@
-     -   +     +  
Index: lams_tool_scribe/web/WEB-INF/tags/Rating.tag =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/WEB-INF/tags/Rating.tag (.../Rating.tag) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/WEB-INF/tags/Rating.tag (.../Rating.tag) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -8,7 +8,6 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> Index: lams_tool_scribe/web/WEB-INF/tags/StyledRating.tag =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/WEB-INF/tags/StyledRating.tag (.../StyledRating.tag) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/WEB-INF/tags/StyledRating.tag (.../StyledRating.tag) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -8,7 +8,6 @@ <%@ tag body-content="scriptless" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> -<%@ taglib uri="tags-html" prefix="html" %> <%@ taglib uri="tags-lams" prefix="lams"%> <%@ taglib uri="tags-function" prefix="fn" %> Index: lams_tool_scribe/web/WEB-INF/tags/TabBody.tag =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/WEB-INF/tags/TabBody.tag (.../TabBody.tag) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/WEB-INF/tags/TabBody.tag (.../TabBody.tag) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -34,7 +34,6 @@ <%@ attribute name="titleKey" required="false" rtexprvalue="true"%> <%@ attribute name="page" required="false" rtexprvalue="true"%> <%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="tags-bean" prefix="bean"%> Index: lams_tool_scribe/web/WEB-INF/tags/TabBodyArea.tag =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/WEB-INF/tags/TabBodyArea.tag (.../TabBodyArea.tag) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/WEB-INF/tags/TabBodyArea.tag (.../TabBodyArea.tag) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -30,7 +30,6 @@ %> <%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="tags-bean" prefix="bean"%>
Index: lams_tool_scribe/web/common/taglibs.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/common/taglibs.jsp (.../taglibs.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/common/taglibs.jsp (.../taglibs.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -1,12 +1,8 @@ <%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> -<%@ taglib uri="tags-bean" prefix="bean"%> -<%@ taglib uri="tags-logic" prefix="logic"%> -<%@ taglib uri="tags-tiles" prefix="tiles"%> -<%@ taglib uri="tags-html" prefix="html"%> <%@ taglib uri="tags-core" prefix="c"%> <%@ taglib uri="tags-function" prefix="fn" %> <%@ taglib uri="tags-fmt" prefix="fmt"%> <%@ taglib uri="tags-lams" prefix="lams"%> - +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> Index: lams_tool_scribe/web/includes/javascript/authoring.js =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/includes/javascript/authoring.js (.../authoring.js) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/includes/javascript/authoring.js (.../authoring.js) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -14,7 +14,7 @@ selectTab(tabId); } function doSubmit(method) { - document.authoringForm.dispatch.value = method; - document.authoringForm.submit(); + document.forms.authoringForm.action = method+".do"; + document.forms.authoringForm.submit(); } Index: lams_tool_scribe/web/includes/javascript/monitoring.js =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/includes/javascript/monitoring.js (.../monitoring.js) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/includes/javascript/monitoring.js (.../monitoring.js) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -13,7 +13,7 @@ selectTab(tabId); } function doSubmit(method, tabId) { - document.monitoringForm.method.value = method; - document.monitoringForm.submit(); + document.forms.monitoringForm.action = method+".do"; + document.forms.monitoringForm.submit(); } Index: lams_tool_scribe/web/pages/authoring/advanced.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/authoring/advanced.jsp (.../advanced.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/pages/authoring/advanced.jsp (.../advanced.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -8,20 +8,20 @@
');" + href="javascript:showMessage('authoring/loadHeadingForm.do?sessionMapID=${authoringForm.sessionMapID}');" class="btn btn-sm btn-default">  Index: lams_tool_scribe/web/pages/authoring/headingForm.jsp =================================================================== diff -u -r2d2c869032858b474398c651f8c45371410ba0d2 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/authoring/headingForm.jsp (.../headingForm.jsp) (revision 2d2c869032858b474398c651f8c45371410ba0d2) +++ lams_tool_scribe/web/pages/authoring/headingForm.jsp (.../headingForm.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -40,16 +40,13 @@ } - + - - - + + - + value="${sessionScope[authoringForm.sessionMapID]}" />
@@ -59,8 +56,8 @@
- - ${sessionMap.headings[formBean.headingIndex].headingText} + + ${sessionMap.headings[authoringForm.headingIndex].headingText} @@ -76,7 +73,7 @@
- + Index: lams_tool_scribe/web/pages/authoring/parts/headingList.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/authoring/parts/headingList.jsp (.../headingList.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/pages/authoring/parts/headingList.jsp (.../headingList.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -23,17 +23,17 @@ - + - + @@ -42,16 +42,16 @@ - + - + " onclick="runUrl('${deleteURL}')"> Index: lams_tool_scribe/web/pages/authoring/pedagogicalPlannerForm.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/authoring/pedagogicalPlannerForm.jsp (.../pedagogicalPlannerForm.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/pages/authoring/pedagogicalPlannerForm.jsp (.../pedagogicalPlannerForm.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -26,7 +26,7 @@ function createHeading(){ prepareFormData(); $('#pedagogicalPlannerForm').ajaxSubmit({ - url: "", + url: "", success: function(responseText){ var bodyTag = ' - - - - - - + + + + + - +

- +
-
+ \ No newline at end of file Index: lams_tool_scribe/web/pages/learning/instructions.jsp =================================================================== diff -u -r2d2c869032858b474398c651f8c45371410ba0d2 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/learning/instructions.jsp (.../instructions.jsp) (revision 2d2c869032858b474398c651f8c45371410ba0d2) +++ lams_tool_scribe/web/pages/learning/instructions.jsp (.../instructions.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -74,14 +74,13 @@
- - - - - + + + + + Index: lams_tool_scribe/web/pages/learning/notebook.jsp =================================================================== diff -u -r2d2c869032858b474398c651f8c45371410ba0d2 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/learning/notebook.jsp (.../notebook.jsp) (revision 2d2c869032858b474398c651f8c45371410ba0d2) +++ lams_tool_scribe/web/pages/learning/notebook.jsp (.../notebook.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -29,26 +29,25 @@ document.getElementById("finishButton").disabled = true; } function submitForm(methodName){ - var f = document.getElementById('messageForm'); + var f = document.getElementById('learningForm'); f.submit(); } - - - + +
- + - + @@ -59,9 +58,9 @@ - + -
+
Index: lams_tool_scribe/web/pages/learning/parts/finishButton.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/learning/parts/finishButton.jsp (.../finishButton.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/pages/learning/parts/finishButton.jsp (.../finishButton.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -8,27 +8,25 @@ } } function submitForm(methodName){ - var f = document.getElementById('messageForm'); + var f = document.getElementById('learningForm'); f.submit(); }
- - + + - - + - - + @@ -39,8 +37,8 @@ - + - +
Index: lams_tool_scribe/web/pages/learning/scribe.jsp =================================================================== diff -u -r2d2c869032858b474398c651f8c45371410ba0d2 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/learning/scribe.jsp (.../scribe.jsp) (revision 2d2c869032858b474398c651f8c45371410ba0d2) +++ lams_tool_scribe/web/pages/learning/scribe.jsp (.../scribe.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -198,17 +198,16 @@
- - - - + + +
- +
-
+
- + - + Index: lams_tool_scribe/web/pages/monitoring/notebook.jsp =================================================================== diff -u -r2d2c869032858b474398c651f8c45371410ba0d2 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/monitoring/notebook.jsp (.../notebook.jsp) (revision 2d2c869032858b474398c651f8c45371410ba0d2) +++ lams_tool_scribe/web/pages/monitoring/notebook.jsp (.../notebook.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -18,10 +18,7 @@ - - - - +

Index: lams_tool_scribe/web/pages/monitoring/summary.jsp =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r770fb82629331ca1c70c47845ab63b9528b7bc9e --- lams_tool_scribe/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_tool_scribe/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 770fb82629331ca1c70c47845ab63b9528b7bc9e) @@ -17,15 +17,15 @@ }); - - - + + +

- +

-
+
@@ -64,27 +64,26 @@
- + - - - - + + +
- + - + - + - - + +
-
+
@@ -120,14 +119,13 @@ <%@include file="/pages/parts/voteDisplay.jsp"%> - - - - - + + + + +
@@ -162,10 +160,7 @@ - - - - + ');" class="btn btn-default btn-sm" >