Index: lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java,v diff -u -r1.25 -r1.26 --- lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java 20 Nov 2006 23:45:14 -0000 1.25 +++ lams_tool_nb/src/java/org/lamsfoundation/lams/tool/noticeboard/web/NbLearnerStarterAction.java 6 Feb 2007 00:31:11 -0000 1.26 @@ -101,6 +101,11 @@ return new Long(user.getUserID().longValue()); } + /** Get the user id from the url - needed for the monitoring mode */ + public Long getUserIDFromURLCall(HttpServletRequest request) { + return WebUtil.readLongParam(request, AttributeNames.PARAM_USER_ID, false); + } + public ActionForward unspecified( ActionMapping mapping, ActionForm form, @@ -122,7 +127,6 @@ ActionMessages message = new ActionMessages(); INoticeboardService nbService = NoticeboardServiceProxy.getNbService(getServlet().getServletContext()); - Long userID = getUserID(request); Long toolSessionID = NbWebUtil.convertToLong(learnerForm.getToolSessionID()); if (toolSessionID == null) @@ -147,25 +151,22 @@ return mapping.findForward(NoticeboardConstants.DEFINE_LATER); } - nbUser = nbService.retrieveNbUserBySession(userID, toolSessionID); boolean readOnly = false; ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE,false); + Long userID = null; if (mode == ToolAccessMode.LEARNER || mode == ToolAccessMode.AUTHOR ) { - if ( ! nbContent.isContentInUse() ) { + userID = getUserID(request); + nbUser = nbService.retrieveNbUserBySession(userID, toolSessionID); + + if ( ! nbContent.isContentInUse() ) { /* Set the ContentInUse flag to true, and defineLater flag to false */ nbContent.setContentInUse(true); nbService.saveNoticeboard(nbContent); } - if (nbUser != null) - { - if (nbUser.getUserStatus().equals(NoticeboardUser.COMPLETED)) { - readOnly = true; - } - } - else + if (nbUser == null) { //create a new user with this session id nbUser = new NoticeboardUser(userID); @@ -175,7 +176,9 @@ nbService.addUser(toolSessionID, nbUser); } } else { - readOnly = true; + userID = getUserIDFromURLCall(request); + nbUser = nbService.retrieveNbUserBySession(userID, toolSessionID); + readOnly = true; } learnerForm.copyValuesIntoForm(nbContent, readOnly, mode.toString()); Index: lams_tool_nb/web/learnerContent.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_nb/web/learnerContent.jsp,v diff -u -r1.21 -r1.22 --- lams_tool_nb/web/learnerContent.jsp 5 Jan 2007 03:13:52 -0000 1.21 +++ lams_tool_nb/web/learnerContent.jsp 6 Feb 2007 00:31:32 -0000 1.22 @@ -53,20 +53,22 @@