Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java =================================================================== diff -u -rd7ecd4ec0bd29174cd2385a51e3d276db8a3f7e9 -r03a7895aacb3b1f0830309dfbe2649b37d998c4f --- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision d7ecd4ec0bd29174cd2385a51e3d276db8a3f7e9) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision 03a7895aacb3b1f0830309dfbe2649b37d998c4f) @@ -1233,12 +1233,9 @@ private void buildScheduleGateActivity(ScheduleGateActivity activity, ObjectNode activityDetails) { activity.setGateStartTimeOffset(JsonUtil.optLong(activityDetails, AuthoringJsonTags.GATE_START_OFFSET)); activity.setGateEndTimeOffset(JsonUtil.optLong(activityDetails, AuthoringJsonTags.GATE_END_OFFSET)); - activity.setSystemTool(getSystemTool(SystemTool.SCHEDULE_GATE)); - Boolean isGateActivityCompletionBased = JsonUtil.optBoolean(activityDetails, AuthoringJsonTags.GATE_ACTIVITY_COMPLETION_BASED); - //check the previous activity is available as well - isGateActivityCompletionBased &= activity.getTransitionTo() != null; activity.setGateActivityCompletionBased(isGateActivityCompletionBased); + activity.setSystemTool(getSystemTool(SystemTool.SCHEDULE_GATE)); } private void createLessonClass(LessonClass lessonClass, ObjectNode groupingDetails) { Index: lams_central/web/includes/javascript/authoring/authoringGeneral.js =================================================================== diff -u -r4d93de876d7c8ade263a2774cd7d155c564d7177 -r03a7895aacb3b1f0830309dfbe2649b37d998c4f --- lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision 4d93de876d7c8ade263a2774cd7d155c564d7177) +++ lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision 03a7895aacb3b1f0830309dfbe2649b37d998c4f) @@ -2457,7 +2457,10 @@ activity instanceof ActivityDefs.ParallelActivity ? 5 : 1, iconPath = null, isGrouped = activity.grouping ? true : false, - parentActivityID = activity.parentActivity ? activity.parentActivity.id : null; + parentActivityID = activity.parentActivity ? activity.parentActivity.id : null, + gateActivityCompletionBased = false, + activityTransitions = activity instanceof ActivityDefs.BranchingActivity ? + activity.end.transitions : activity.transitions; if (activity.toolID) { activityTypeID = 1; @@ -2507,7 +2510,13 @@ } else if (activity instanceof ActivityDefs.GateActivity){ switch(activity.gateType) { case 'sync' : activityTypeID = 3; break; - case 'schedule' : activityTypeID = 4; break; + case 'schedule' : + activityTypeID = 4; + gateActivityCompletionBased = activity.gateActivityCompletionBased + //check the previous activity is available as well + && (activityTransitions && activityTransitions.to && activityTransitions.to.length > 0); + break; + case 'permission' : activityTypeID = 5; break; case 'system' : activityTypeID = 9; systemGate = activity; break; case 'condition' : @@ -2639,7 +2648,7 @@ 'defaultActivityUIID' : activity.defaultActivityUIID, 'gateStartTimeOffset' : activity.gateType == 'schedule' ? activity.offsetDay*24*60 + activity.offsetHour*60 + activity.offsetMinute : null, - 'gateActivityCompletionBased' : activity.gateActivityCompletionBased, + 'gateActivityCompletionBased' : gateActivityCompletionBased, 'gateActivityLevelID' : activity instanceof ActivityDefs.GateActivity ? 1 : null, 'minOptions' : activity.minOptions || null, 'maxOptions' : activity.maxOptions || null, @@ -2649,9 +2658,6 @@ null : activity.gradebookToolOutputDefinitionName, 'gradebookToolOutputWeight' : activity.gradebookToolOutputWeight }); - - var activityTransitions = activity instanceof ActivityDefs.BranchingActivity ? - activity.end.transitions : activity.transitions; if (activityTransitions) { // iterate over transitions and create a list Index: lams_central/web/includes/javascript/authoring/authoringProperty.js =================================================================== diff -u -r61f846c3ffdf0635dc2b54832a98c6f694feb3da -r03a7895aacb3b1f0830309dfbe2649b37d998c4f --- lams_central/web/includes/javascript/authoring/authoringProperty.js (.../authoringProperty.js) (revision 61f846c3ffdf0635dc2b54832a98c6f694feb3da) +++ lams_central/web/includes/javascript/authoring/authoringProperty.js (.../authoringProperty.js) (revision 03a7895aacb3b1f0830309dfbe2649b37d998c4f) @@ -278,7 +278,9 @@ if (activity.transitions.to.length == 0){ $('.propertiesContentFieldActivityCompletionBased', content) .attr('checked', null) + .prop('checked', false) .attr('disabled', 'disabled'); + } else { $('.propertiesContentFieldActivityCompletionBased', content) .attr('disabled', null);