Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/BranchingActivityAction.java
===================================================================
diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -re27d5ecdab649eab65bec7460d22928bb972a722
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/BranchingActivityAction.java (.../BranchingActivityAction.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/BranchingActivityAction.java (.../BranchingActivityAction.java) (revision e27d5ecdab649eab65bec7460d22928bb972a722)
@@ -46,6 +46,7 @@
import org.lamsfoundation.lams.lesson.LearnerProgress;
import org.lamsfoundation.lams.util.WebUtil;
import org.lamsfoundation.lams.web.action.LamsDispatchAction;
+import org.lamsfoundation.lams.web.util.AttributeNames;
/**
* Action class to display an OptionsActivity.
@@ -148,6 +149,8 @@
} else if (branchingActivity.isToolBranchingActivity()) {
branchForm.set("type", BranchingActivity.TOOL_BASED_TYPE);
}
+ // lessonId needed for the progress bar
+ request.setAttribute(AttributeNames.PARAM_LESSON_ID, learnerProgress.getLesson().getLessonId());
} else {
// forward to the sequence activity.
if (LamsDispatchAction.log.isDebugEnabled()) {
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java
===================================================================
diff -u -r51fb2a37254f24bb2a805d4ffd54482c779f43fa -re27d5ecdab649eab65bec7460d22928bb972a722
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java (.../DisplayOptionsActivityAction.java) (revision 51fb2a37254f24bb2a805d4ffd54482c779f43fa)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayOptionsActivityAction.java (.../DisplayOptionsActivityAction.java) (revision e27d5ecdab649eab65bec7460d22928bb972a722)
@@ -44,6 +44,7 @@
import org.lamsfoundation.lams.learningdesign.OptionsActivity;
import org.lamsfoundation.lams.lesson.LearnerProgress;
import org.lamsfoundation.lams.web.action.LamsAction;
+import org.lamsfoundation.lams.web.util.AttributeNames;
/**
* Action class to display an OptionsActivity.
@@ -115,6 +116,9 @@
LearningWebUtil.putActivityPositionInRequest(form.getActivityID(), request, getServlet().getServletContext());
+ // lessonId needed for the progress bar
+ request.setAttribute(AttributeNames.PARAM_LESSON_ID, learnerProgress.getLesson().getLessonId());
+
String forward = "displayOptions";
return mapping.findForward(forward);
}
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java
===================================================================
diff -u -reab60a3945e015e910487c6be9e7236a13e1a2e2 -re27d5ecdab649eab65bec7460d22928bb972a722
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision eab60a3945e015e910487c6be9e7236a13e1a2e2)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/GroupingAction.java (.../GroupingAction.java) (revision e27d5ecdab649eab65bec7460d22928bb972a722)
@@ -183,6 +183,11 @@
*/
public ActionForward viewGrouping(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
+ return viewGrouping(mapping, form, request, response, null);
+ }
+
+ public ActionForward viewGrouping(ActionMapping mapping, ActionForm form, HttpServletRequest request,
+ HttpServletResponse response, LearnerProgress learnerProgress) throws IOException, ServletException {
prepareGroupData(request);
request.setAttribute(GroupingAction.LOCAL_FILES, Boolean.FALSE);
ToolAccessMode mode = WebUtil.readToolAccessModeParam(request, AttributeNames.PARAM_MODE, true);
@@ -191,6 +196,14 @@
long activityId = WebUtil.readLongParam(request, AttributeNames.PARAM_ACTIVITY_ID);
LearningWebUtil.putActivityPositionInRequest(activityId, request, getServlet().getServletContext());
+ // make sure the lesson id is always in the request for the progress bar.
+ if ( request.getAttribute(AttributeNames.PARAM_LESSON_ID) == null ) {
+ if ( learnerProgress == null ) {
+ ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext());
+ learnerProgress = LearningWebUtil.getLearnerProgress(request, learnerService);
+ }
+ request.setAttribute(AttributeNames.PARAM_LESSON_ID, learnerProgress.getLesson().getLessonId());
+ }
return mapping.findForward(GroupingAction.SHOW_GROUP);
}
@@ -271,7 +284,7 @@
boolean learnerGroupped = learnerService.learnerChooseGroup(lessonId, activity.getActivityId(), groupId,
LearningWebUtil.getUserId());
if (learnerGroupped) {
- return viewGrouping(mapping, form, request, response);
+ return viewGrouping(mapping, form, request, response, learnerProgress);
}
Long groupingId = ((GroupingActivity) activity).getCreateGrouping().getGroupingId();
Index: lams_learning/web/WEB-INF/tags/Page.tag
===================================================================
diff -u -r5660949c6c27cabcb931fa4df1470642b0aaa4e0 -re27d5ecdab649eab65bec7460d22928bb972a722
--- lams_learning/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision 5660949c6c27cabcb931fa4df1470642b0aaa4e0)
+++ lams_learning/web/WEB-INF/tags/Page.tag (.../Page.tag) (revision e27d5ecdab649eab65bec7460d22928bb972a722)
@@ -66,7 +66,7 @@
-
+
@@ -204,7 +204,10 @@
Exit
Notebook
RestartX
-