Index: lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java =================================================================== diff -u -r585c5afc5fcabdb88754b7c1bd7f7ec5eef4e150 -r358fab91c7e835134a022064661eefc12b6fffbb --- lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java (.../LdTemplateController.java) (revision 585c5afc5fcabdb88754b7c1bd7f7ec5eef4e150) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/LdTemplateController.java (.../LdTemplateController.java) (revision 358fab91c7e835134a022064661eefc12b6fffbb) @@ -403,7 +403,7 @@ /* ************************************** Non-Tool Activity methods ******************************************** */ protected ObjectNode createGateActivity(AtomicInteger uiid, int order, Integer[] layoutCoords, String activityTitle, - String activityDescription) { + String activityDescription, boolean gateStopAtPrecedingActivity) { ObjectNode activityJSON = JsonNodeFactory.instance.objectNode(); Integer[] pos = layoutCoords; @@ -425,14 +425,16 @@ } activityJSON.put(AuthoringJsonTags.ACTIVITY_TYPE_ID, Activity.PERMISSION_GATE_ACTIVITY_TYPE); activityJSON.put(AuthoringJsonTags.GATE_ACTIVITY_LEVEL_ID, GateActivity.LEARNER_GATE_LEVEL); + activityJSON.put(AuthoringJsonTags.GATE_STOP_AT_PRECEDING_ACTIVITY, gateStopAtPrecedingActivity); return activityJSON; } protected ObjectNode createScheduledGateActivity(AtomicInteger uiid, int order, Integer[] layoutCoords, - String activityTitle, String activityDescription, Long startOffset) { + String activityTitle, String activityDescription, Long startOffset, boolean gateStopAtPrecedingActivity) { - ObjectNode activityJSON = createGateActivity(uiid, order, layoutCoords, activityTitle, activityDescription); + ObjectNode activityJSON = createGateActivity(uiid, order, layoutCoords, activityTitle, activityDescription, + gateStopAtPrecedingActivity); activityJSON.put(AuthoringJsonTags.ACTIVITY_TYPE_ID, Activity.SCHEDULE_GATE_ACTIVITY_TYPE); activityJSON.put(AuthoringJsonTags.GATE_START_OFFSET, startOffset); Index: lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/TBLTemplateController.java =================================================================== diff -u -r64fd4de8d9aa8055d8eadbb9bdc6561c9f13cb82 -r358fab91c7e835134a022064661eefc12b6fffbb --- lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/TBLTemplateController.java (.../TBLTemplateController.java) (revision 64fd4de8d9aa8055d8eadbb9bdc6561c9f13cb82) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/template/web/TBLTemplateController.java (.../TBLTemplateController.java) (revision 358fab91c7e835134a022064661eefc12b6fffbb) @@ -150,10 +150,10 @@ activityTitle = data.getText("boilerplate.before.ira.gate"); if (data.useScheduledGates && data.iraStartOffset != null) { activities.add(createScheduledGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), - activityTitle, null, data.iraStartOffset)); + activityTitle, null, data.iraStartOffset, true)); } else { activities.add(createGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), - activityTitle, activityTitle)); + activityTitle, activityTitle, true)); } // iRA Test - Assessment @@ -182,10 +182,10 @@ activityTitle = data.getText("boilerplate.before.tra.gate"); if (data.useScheduledGates && data.traStartOffset != null) { activities.add(createScheduledGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), - activityTitle, null, data.traStartOffset)); + activityTitle, null, data.traStartOffset, true)); } else { activities.add(createGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), - activityTitle, activityTitle)); + activityTitle, activityTitle, true)); } // tRA Test @@ -218,11 +218,12 @@ String gateTitleBeforeAppEx = data.getText("boilerplate.before.app.ex", new String[] { applicationExercise.title }); if (data.useScheduledGates && data.aeStartOffset != null) { - activities.add(createScheduledGateActivity(maxUIID, order++, - calcGateOffset(currentActivityPosition), gateTitleBeforeAppEx, null, data.aeStartOffset)); + activities + .add(createScheduledGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), + gateTitleBeforeAppEx, null, data.aeStartOffset, true)); } else { activities.add(createGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), - gateTitleBeforeAppEx, gateTitleBeforeAppEx)); + gateTitleBeforeAppEx, gateTitleBeforeAppEx, true)); } // Application Exercise @@ -263,7 +264,7 @@ String gateTitle = data.getText("boilerplate.before.app.ex.noticeboard", new String[] { noticeboardCountAsString }); activities.add(createGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), - gateTitle, gateTitle)); + gateTitle, gateTitle, true)); } currentActivityPosition = calcPositionNextRight(currentActivityPosition); String notebookTitle = data.getText("boilerplate.grouped.ae.noticeboard.num", @@ -293,7 +294,7 @@ // Stop! String gateTitle = data.getText("boilerplate.before.peer.review"); activities.add(createGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), gateTitle, - gateTitle)); + gateTitle, true)); currentActivityPosition = calcPositionNextRight(currentActivityPosition); String peerReviewTitle = data.getText("boilerplate.peerreview"); @@ -307,7 +308,8 @@ if (data.useReflection) { // Stop! - activities.add(createGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), null, null)); + activities.add( + createGateActivity(maxUIID, order++, calcGateOffset(currentActivityPosition), null, null, true)); // Individual Reflection currentActivityPosition = calcPositionNextRight(currentActivityPosition);