Index: lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java =================================================================== diff -u -rbd4fa408454e7389b4e60bc68f2488de88eff663 -rcb4141b54c7cfe2b3acbde3d0de3c15da1c5b351 --- lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision bd4fa408454e7389b4e60bc68f2488de88eff663) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/ObjectExtractor.java (.../ObjectExtractor.java) (revision cb4141b54c7cfe2b3acbde3d0de3c15da1c5b351) @@ -1236,10 +1236,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.setGateActivityCompletionBased( - JsonUtil.optBoolean(activityDetails, AuthoringJsonTags.GATE_ACTIVITY_COMPLETION_BASED)); - SystemTool systemTool = getSystemTool(SystemTool.SCHEDULE_GATE); - activity.setSystemTool(systemTool); + Boolean isGateActivityCompletionBased = JsonUtil.optBoolean(activityDetails, AuthoringJsonTags.GATE_ACTIVITY_COMPLETION_BASED); + 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 -ra3a2b7e60238b4705c80952dbabaef32bf564cc1 -rcb4141b54c7cfe2b3acbde3d0de3c15da1c5b351 --- lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision a3a2b7e60238b4705c80952dbabaef32bf564cc1) +++ lams_central/web/includes/javascript/authoring/authoringGeneral.js (.../authoringGeneral.js) (revision cb4141b54c7cfe2b3acbde3d0de3c15da1c5b351) @@ -2458,7 +2458,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; @@ -2508,7 +2511,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' : @@ -2640,7 +2649,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, @@ -2651,9 +2660,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 -rf39a3bdccf084790b73cce7e340fca0100025d7a -rcb4141b54c7cfe2b3acbde3d0de3c15da1c5b351 --- lams_central/web/includes/javascript/authoring/authoringProperty.js (.../authoringProperty.js) (revision f39a3bdccf084790b73cce7e340fca0100025d7a) +++ lams_central/web/includes/javascript/authoring/authoringProperty.js (.../authoringProperty.js) (revision cb4141b54c7cfe2b3acbde3d0de3c15da1c5b351) @@ -279,7 +279,9 @@ if (activity.transitions.to.length == 0){ $('.propertiesContentFieldActivityCompletionBased', content) .attr('checked', null) + .prop('checked', false) .attr('disabled', 'disabled'); + } else { $('.propertiesContentFieldActivityCompletionBased', content) .attr('disabled', null);