Index: lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java =================================================================== diff -u -r9ed689d51b8f41ba820bd7e6be8e3253703096a8 -rdaa418612600db64e8ac94ac03b0f492a1f1e1ff --- lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java (.../AuthoringAction.java) (revision 9ed689d51b8f41ba820bd7e6be8e3253703096a8) +++ lams_tool_gmap/src/java/org/lamsfoundation/lams/tool/gmap/web/actions/AuthoringAction.java (.../AuthoringAction.java) (revision daa418612600db64e8ac94ac03b0f492a1f1e1ff) @@ -145,19 +145,19 @@ gmapService.saveOrUpdateGmap(gmap); } - GmapUser gmapUser = null; - HttpSession ss = SessionManager.getSession(); + //GmapUser gmapUser = null; + //HttpSession ss = SessionManager.getSession(); //get back login user DTO - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + //UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + /* gmapUser = gmapService.getUserByUID(new Long(user.getUserID().intValue())); if(gmapUser == null){ gmapUser = new GmapUser(user,null); gmapService.saveOrUpdateGmapUser(gmapUser); } - request.setAttribute(GmapConstants.ATTR_USER, gmapUser); + */ + //request.setAttribute(GmapConstants.ATTR_USER, user); - - // Set up the authForm. AuthoringForm authForm = (AuthoringForm) form; updateAuthForm(authForm, gmap); @@ -191,20 +191,29 @@ // update gmap content using form inputs. ToolAccessMode mode = (ToolAccessMode) map.get(KEY_MODE); + String contentFolderID = (String) map.get(AttributeNames.PARAM_CONTENT_FOLDER_ID); GmapUser gmapUser = null; //check whether it is sysadmin:LDEV-906 if(!StringUtils.equals(contentFolderID,"-1" )){ //try to get form system session - HttpSession ss = SessionManager.getSession(); + //HttpSession ss = SessionManager.getSession(); //get back login user DTO - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - gmapUser = gmapService.getUserByUID(new Long(user.getUserID().intValue())); - if(gmapUser == null){ + //UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + //gmapUser = gmapService.getUserByUID(new Long(user.getUserID().intValue())); + + if (gmap.getCreateBy() == null) + { + HttpSession ss = SessionManager.getSession(); + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); gmapUser = new GmapUser(user,null); gmapService.saveOrUpdateGmapUser(gmapUser); } - } + else + { + gmapUser = gmapService.getUserByUID(gmap.getCreateBy()); + } + } updateGmap(gmap, authForm, mode, gmapUser); @@ -426,6 +435,7 @@ updateMarkerListFromXML(authForm.getMarkersXML(), gmap, guser); if (mode.isAuthor()) { // Teacher cannot modify following + gmap.setCreateBy(guser.getUid()); gmap.setOfflineInstructions(authForm.getOnlineInstruction()); gmap.setOnlineInstructions(authForm.getOfflineInstruction()); gmap.setLockOnFinished(authForm.isLockOnFinished()); @@ -470,7 +480,7 @@ if (markerState.equals("remove")) { gmap.removeMarker(uid); - return; + continue; } GmapMarker marker = null;