Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java =================================================================== diff -u -r71dee7d765407942d4d1d88cba29319277e40b20 -r2e5708a7cd242f72aecf91251e52dde68a72017f --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java (.../LearningAction.java) (revision 71dee7d765407942d4d1d88cba29319277e40b20) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/LearningAction.java (.../LearningAction.java) (revision 2e5708a7cd242f72aecf91251e52dde68a72017f) @@ -156,6 +156,11 @@ return mapping.findForward("gmap"); } + /** + * Get the current user + * @param toolSessionId + * @return + */ private GmapUser getCurrentUser(Long toolSessionId) { UserDTO user = (UserDTO) SessionManager.getSession().getAttribute( AttributeNames.USER); @@ -223,7 +228,15 @@ return null; // TODO need to return proper page. } - + /** + * This saves any new/edited markers on the map, without finishing the activity + * @param mapping + * @param form + * @param request + * @param response + * @return + * @throws Exception + */ public ActionForward saveMarkers(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { @@ -245,7 +258,6 @@ // update the marker list Gmap gmap = gmapSession.getGmap(); gmapService.updateMarkerListFromXML(learningForm.getMarkersXML(), gmap, gmapUser, false, gmapSession); - //updateMarkerListFromXML(learningForm.getMarkersXML(), gmap, gmapUser, gmapSession); } else { log.error("saveMarkers(): couldn't find GmapUser with id: " Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java =================================================================== diff -u -rfb0eec778efbbc27bfbd1fb926b91bc2f10e6860 -r2e5708a7cd242f72aecf91251e52dde68a72017f --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision fb0eec778efbbc27bfbd1fb926b91bc2f10e6860) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/MonitoringAction.java (.../MonitoringAction.java) (revision 2e5708a7cd242f72aecf91251e52dde68a72017f) @@ -34,10 +34,16 @@ import org.lamsfoundation.lams.tool.gmap.dto.GmapDTO; import org.lamsfoundation.lams.tool.gmap.dto.GmapSessionDTO; import org.lamsfoundation.lams.tool.gmap.model.Gmap; +import org.lamsfoundation.lams.tool.gmap.model.GmapSession; +import org.lamsfoundation.lams.tool.gmap.model.GmapUser; import org.lamsfoundation.lams.tool.gmap.service.IGmapService; import org.lamsfoundation.lams.tool.gmap.service.GmapServiceProxy; +import org.lamsfoundation.lams.tool.gmap.util.GmapException; +import org.lamsfoundation.lams.tool.gmap.web.forms.MonitoringForm; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.action.LamsDispatchAction; +import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; /** @@ -97,4 +103,70 @@ .getServlet().getServletContext()); } } + + /** + * Allows teachers to edit/remove existing markers + * @param mapping + * @param form + * @param request + * @param response + * @return + * @throws Exception + */ + public ActionForward saveMarkers(ActionMapping mapping, ActionForm form, + HttpServletRequest request, HttpServletResponse response) throws Exception + { + + MonitoringForm monitoringForm = (MonitoringForm) form; + Long toolSessionID = monitoringForm.getToolSessionID(); + //Long toolSessionID = WebUtil.readLongParam(request, "toolSessionID"); + + GmapUser gmapUser = getCurrentUser(toolSessionID); + + if (gmapUser != null) { + + //MonitoringForm monitoringForm = (MonitoringForm) form; + + // Retrieve the session and content. + GmapSession gmapSession = gmapService.getSessionBySessionId(toolSessionID); + if (gmapSession == null) { + throw new GmapException("Cannot retreive session with toolSessionID"+ toolSessionID); + } + + // update the marker list + Gmap gmap = gmapSession.getGmap(); + gmapService.updateMarkerListFromXML(monitoringForm.getMarkersXML(), gmap, gmapUser, true, gmapSession); + + } else { + log.error("saveMarkers(): couldn't find GmapUser with id: " + + gmapUser.getUserId() + "and toolSessionID: " + + toolSessionID); + } + + return unspecified(mapping, form, request, response); + } + + /** + * Get the current user + * @param toolSessionId + * @return + */ + private GmapUser getCurrentUser(Long toolSessionId) { + UserDTO user = (UserDTO) SessionManager.getSession().getAttribute( + AttributeNames.USER); + + // attempt to retrieve user using userId and toolSessionId + GmapUser gmapUser = gmapService + .getUserByUserIdAndSessionId(new Long(user.getUserID() + .intValue()), toolSessionId); + + if (gmapUser == null) { + GmapSession gmapSession = gmapService + .getSessionBySessionId(toolSessionId); + gmapUser = gmapService.createGmapUser(user, + gmapSession); + } + + return gmapUser; + } } Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java =================================================================== diff -u -r9ed689d51b8f41ba820bd7e6be8e3253703096a8 -r2e5708a7cd242f72aecf91251e52dde68a72017f --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java (.../MonitoringForm.java) (revision 9ed689d51b8f41ba820bd7e6be8e3253703096a8) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/forms/MonitoringForm.java (.../MonitoringForm.java) (revision 2e5708a7cd242f72aecf91251e52dde68a72017f) @@ -37,6 +37,9 @@ String dispatch; boolean teacherVisible; Long toolSessionID; + String markersXML; + Long toolContentID; + String contentFolderID; // editing message page. Long messageUID; @@ -79,5 +82,22 @@ public void setMessageHidden(boolean messageHidden) { this.messageHidden = messageHidden; } - + public String getMarkersXML() { + return markersXML; + } + public void setMarkersXML(String markersXML) { + this.markersXML = markersXML; + } + public Long getToolContentID() { + return toolContentID; + } + public void setToolContentID(Long toolContentID) { + this.toolContentID = toolContentID; + } + public String getContentFolderID() { + return contentFolderID; + } + public void setContentFolderID(String contentFolderID) { + this.contentFolderID = contentFolderID; + } } Index: lams_tool_gmap/web/common/learnerheader.jsp =================================================================== diff -u -rbd7ebfdcdd0361d3b1d07f7cec1f296033473452 -r2e5708a7cd242f72aecf91251e52dde68a72017f --- lams_tool_gmap/web/common/learnerheader.jsp (.../learnerheader.jsp) (revision bd7ebfdcdd0361d3b1d07f7cec1f296033473452) +++ lams_tool_gmap/web/common/learnerheader.jsp (.../learnerheader.jsp) (revision 2e5708a7cd242f72aecf91251e52dde68a72017f) @@ -46,7 +46,6 @@ var currUserId; var userMarkerCount =0; var limitMarkers = ${gmapDTO.limitMarkers}; - var markerLimit = 0; var markerLimit = ${gmapDTO.maxMarkers}; Index: lams_tool_gmap/web/pages/monitoring/headItems.jsp =================================================================== diff -u -re1053836420dd4940305875bd72be4639bab407e -r2e5708a7cd242f72aecf91251e52dde68a72017f --- lams_tool_gmap/web/pages/monitoring/headItems.jsp (.../headItems.jsp) (revision e1053836420dd4940305875bd72be4639bab407e) +++ lams_tool_gmap/web/pages/monitoring/headItems.jsp (.../headItems.jsp) (revision 2e5708a7cd242f72aecf91251e52dde68a72017f) @@ -5,9 +5,11 @@ - <%@ include file="/includes/jsp/mapFunctions.jsp"%> +<%-- learning javascript map functions library is sufficient for monitor --%> + + - - - - - - - Index: lams_tool_gmap/web/pages/monitoring/summary.jsp =================================================================== diff -u -rd697a4de98c3915e665e06207c1e382f24a7ff79 -r2e5708a7cd242f72aecf91251e52dde68a72017f --- lams_tool_gmap/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision d697a4de98c3915e665e06207c1e382f24a7ff79) +++ lams_tool_gmap/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 2e5708a7cd242f72aecf91251e52dde68a72017f) @@ -2,6 +2,7 @@ +

@@ -147,78 +148,96 @@ -
-

-
+
+

+ +
+ + + + + + + + + + + + + + + + +
+ + + +
No groups found for lesson.
+ ${session.sessionName} + + ${session.numberOfLearners} +
+
- - - - - - - - - - + + + + + + + +
+

+ +
+
- - - -
No groups found for lesson.
+ + + - - -
+
+ +
+
+
+
- ${session.sessionName} + + + - ${session.numberOfLearners} -
-
+ + + + +
+ " /> + +
+ + +
+ + button.save + +
+ -
-

- -
- - - - - - - -
-
- -
-
-
-
- - -
- - - - -
- " /> - -
- -
- +