Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java =================================================================== diff -u -ra0722fe03d763f9da5efc82987034d929e6a23a1 -r1290c6550e900eba41bd51803e59f2a7af0b521b --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java (.../DisplayToolActivityAction.java) (revision a0722fe03d763f9da5efc82987034d929e6a23a1) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/DisplayToolActivityAction.java (.../DisplayToolActivityAction.java) (revision 1290c6550e900eba41bd51803e59f2a7af0b521b) @@ -37,24 +37,18 @@ import org.lamsfoundation.lams.lesson.LearnerProgress; /** - * Action class to forward the user to a Tool. If it is in preview and the define - * later flag is set on the activity, then go to the tool page via a special message - * page. + * Action class to forward the user to a Tool. * * @author daveg * * XDoclet definition: * * @struts:action path="/DisplayToolActivity" name="activityForm" * validate="false" scope="request" - * @struts:action-forward name="previewDefineLater" path=".previewDefineLater" + * */ public class DisplayToolActivityAction extends ActivityAction { - public static final String DEFINE_LATER = "previewDefineLater"; - public static final String PARAM_ACTIVITY_TITLE = "activityTitle"; - public static final String PARAM_ACTIVITY_URL = "activityURL"; - /** * Gets a tool activity from the request (attribute) and uses a redirect * to forward the user to the tool. @@ -80,20 +74,14 @@ ToolActivity toolActivity = (ToolActivity)activity; String url = actionMappings.getLearnerToolURL(learnerProgress.getLesson(), toolActivity, learnerProgress.getUser()); - - if ( toolActivity.getDefineLater() && learnerProgress.getLesson().isPreviewLesson() ) { - // preview define later - request.setAttribute(PARAM_ACTIVITY_TITLE, activity.getTitle()); - request.setAttribute(PARAM_ACTIVITY_URL, url); - return mapping.findForward("previewDefineLater"); - } else { - // normal case - try { - response.sendRedirect(url); - } catch (java.io.IOException e) { - return mapping.findForward(ActivityMapping.ERROR); - } + try + { + response.sendRedirect(url); } + catch (java.io.IOException e) + { + return mapping.findForward(ActivityMapping.ERROR); + } return null; } Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java =================================================================== diff -u -r5aff7aa069793bc34e60b304e69e9e9fceb996f5 -r1290c6550e900eba41bd51803e59f2a7af0b521b --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java (.../LoadToolActivityAction.java) (revision 5aff7aa069793bc34e60b304e69e9e9fceb996f5) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/LoadToolActivityAction.java (.../LoadToolActivityAction.java) (revision 1290c6550e900eba41bd51803e59f2a7af0b521b) @@ -50,14 +50,18 @@ * validate="false" scope="request" * * @struts:action-forward name="displayTool" path=".loadToolActivity" + * @struts:action-forward name="previewDefineLater" path=".previewDefineLater" * */ public class LoadToolActivityAction extends ActivityAction { + public static final String DEFINE_LATER = "previewDefineLater"; + public static final String PARAM_ACTIVITY_TITLE = "activityTitle"; + public static final String PARAM_ACTIVITY_URL = "activityURL"; + /** * Gets an activity from the request (attribute) and forwards onto a * loading page. - * TODO when this is first called after creating a new tool session, ToolActivity isn't a ToolActivity - its a cglib. */ public ActionForward execute(ActionMapping mapping, ActionForm actionForm, @@ -75,8 +79,19 @@ form.setActivityId(activity.getActivityId()); if (activity.isToolActivity() || activity.isSystemToolActivity() ) { + String url = actionMappings.getLearnerToolURL(learnerProgress.getLesson(),activity, learnerProgress.getUser()); - form.addActivityURL(new ActivityURL(activity.getActivityId(),url)); + + if ( activity.getDefineLater() && learnerProgress.getLesson().isPreviewLesson() ) { + // preview define later + request.setAttribute(PARAM_ACTIVITY_TITLE, activity.getTitle()); + request.setAttribute(PARAM_ACTIVITY_URL, url); + return mapping.findForward("previewDefineLater"); + } else { + // normal case + form.addActivityURL(new ActivityURL(activity.getActivityId(),url)); + } + } else { log.error(className+": activity not ToolActivity"); return mapping.findForward(ActivityMapping.ERROR); @@ -85,4 +100,5 @@ return mapping.findForward("displayTool"); } + } \ No newline at end of file Index: lams_learning/web/WEB-INF/struts/tiles-defs.xml =================================================================== diff -u -ref210fd78b9a0170b505db609305b71560e82ee0 -r1290c6550e900eba41bd51803e59f2a7af0b521b --- lams_learning/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision ef210fd78b9a0170b505db609305b71560e82ee0) +++ lams_learning/web/WEB-INF/struts/tiles-defs.xml (.../tiles-defs.xml) (revision 1290c6550e900eba41bd51803e59f2a7af0b521b) @@ -85,6 +85,11 @@ + + + + + Index: lams_learning/web/previewDefineLater.jsp =================================================================== diff -u -ra0722fe03d763f9da5efc82987034d929e6a23a1 -r1290c6550e900eba41bd51803e59f2a7af0b521b --- lams_learning/web/previewDefineLater.jsp (.../previewDefineLater.jsp) (revision a0722fe03d763f9da5efc82987034d929e6a23a1) +++ lams_learning/web/previewDefineLater.jsp (.../previewDefineLater.jsp) (revision 1290c6550e900eba41bd51803e59f2a7af0b521b) @@ -24,6 +24,7 @@ <%@ taglib uri="tags-logic" prefix="logic" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> + <%@ taglib uri="tags-lams" prefix="lams" %>

@@ -37,7 +38,7 @@ - + \ No newline at end of file