diff --git a/application/modules/courses/views/scripts/view/change-ace.phtml b/application/modules/courses/views/scripts/view/change-ace.phtml index 5e2c6fc4c173780332746d79e72ca51605f9bd55..1ecbd332482203b908845371d40396b50c91d6a0 100644 --- a/application/modules/courses/views/scripts/view/change-ace.phtml +++ b/application/modules/courses/views/scripts/view/change-ace.phtml @@ -6,54 +6,50 @@ $currentAceOutcomes = $this->course->getAceOutcomes(); $currentAceReinforcements = $this->course->getAceReinforcements(); -foreach ($previousAceOutcomes as &$previousAceOutcome) { - $previousAceOutcome['state'] = 'deleted'; +foreach ($previousAceOutcomes as $index => $previousAceOutcome) { + $previousAceOutcomes[$index]['state'] = 'deleted'; foreach ($currentAceOutcomes as $currentAceOutcome) { - if ($previousAceOutcome['slo'] == $currentAceOutcome['slo']) { - $previousAceOutcome['state'] = 'changed'; - $previousAceOutcome['justification'] = $this->HtmlDiff($previousAceOutcome['justification'], $currentAceOutcome['justification']); - $previousAceOutcome['studentWork'] = $this->HtmlDiff($previousAceOutcome['studentWork'], $currentAceOutcome['studentWork']); - $previousAceOutcome['assesmentPlan'] = $this->HtmlDiff($previousAceOutcome['assesmentPlan'], $currentAceOutcome['assesmentPlan']); + if ($previousAceOutcomes[$index]['slo'] == $currentAceOutcome['slo']) { + $previousAceOutcomes[$index]['state'] = 'changed'; + $previousAceOutcomes[$index]['justification'] = $this->HtmlDiff($previousAceOutcome['justification'], $currentAceOutcome['justification']); + $previousAceOutcomes[$index]['studentWork'] = $this->HtmlDiff($previousAceOutcome['studentWork'], $currentAceOutcome['studentWork']); + $previousAceOutcomes[$index]['assesmentPlan'] = $this->HtmlDiff($previousAceOutcome['assesmentPlan'], $currentAceOutcome['assesmentPlan']); } } } -unset($previousAceOutcome); -foreach ($currentAceOutcomes as &$currentAceOutcome) { - $currentAceOutcome['state'] = 'new'; +foreach ($currentAceOutcomes as $index => $currentAceOutcome) { + $currentAceOutcomes[$index]['state'] = 'new'; foreach ($previousAceOutcomes as $previousAceOutcome) { - if ($currentAceOutcome['slo'] == $previousAceOutcome['slo']) { - $currentAceOutcome['state'] = 'changed'; - $currentAceOutcome['justification'] = $previousAceOutcome['justification']; - $currentAceOutcome['studentWork'] = $previousAceOutcome['studentWork']; - $currentAceOutcome['assesmentPlan'] = $previousAceOutcome['assesmentPlan']; + if ($currentAceOutcomes[$index]['slo'] == $previousAceOutcome['slo']) { + $currentAceOutcomes[$index]['state'] = 'changed'; + $currentAceOutcomes[$index]['justification'] = $previousAceOutcome['justification']; + $currentAceOutcomes[$index]['studentWork'] = $previousAceOutcome['studentWork']; + $currentAceOutcomes[$index]['assesmentPlan'] = $previousAceOutcome['assesmentPlan']; } } } -unset($currentAceOutcome); -foreach ($previousAceReinforcements as &$previousAceReinforcement) { - $previousAceReinforcement['state'] = 'deleted'; +foreach ($previousAceReinforcements as $index => $previousAceReinforcement) { + $previousAceReinforcements[$index]['state'] = 'deleted'; foreach ($currentAceReinforcements as $currentAceReinforcement) { - if ($previousAceReinforcement['name'] == $currentAceReinforcement['name']) { - $previousAceReinforcement['state'] = 'changed'; - $previousAceReinforcement['description'] = $this->HtmlDiff($previousAceReinforcement['description'], $currentAceReinforcement['description']); + if ($previousAceReinforcements[$index]['name'] == $currentAceReinforcement['name']) { + $previousAceReinforcements[$index]['state'] = 'changed'; + $previousAceReinforcements[$index]['description'] = $this->HtmlDiff($previousAceReinforcement['description'], $currentAceReinforcement['description']); } } } -unset($previousAceReinforcement); -foreach ($currentAceReinforcements as &$currentAceReinforcement) { - $currentAceReinforcement['state'] = 'new'; +foreach ($currentAceReinforcements as $index => $currentAceReinforcement) { + $currentAceReinforcements[$index]['state'] = 'new'; foreach ($previousAceReinforcements as $previousAceReinforcement) { - if ($currentAceReinforcement['name'] == $previousAceReinforcement['name']) { - $currentAceReinforcement['state'] = 'changed'; - $currentAceReinforcement['description'] = $previousAceReinforcement['description']; + if ($currentAceReinforcements[$index]['name'] == $previousAceReinforcement['name']) { + $currentAceReinforcements[$index]['state'] = 'changed'; + $currentAceReinforcements[$index]['description'] = $previousAceReinforcement['description']; } } } -unset($currentAceReinforcement); diff --git a/document_root/javascript/courses/edit.js b/document_root/javascript/courses/edit.js index acb1a325a591e68e8a348f92c92066c3f5648d51..12ac14301af1f1bf0a36c862253b49ae9cb8a6f0 100644 --- a/document_root/javascript/courses/edit.js +++ b/document_root/javascript/courses/edit.js @@ -9,19 +9,21 @@ $(document).ready(function() { if (document.getElementById('aceOutcomeList')) { var outcomesChecked = 0; - var aceOutcomeItems = document.getElementById('aceOutcomeList').getElementsByTagName('input'); - for (var i = 0; i < aceOutcomeItems.length; i++) { - aceOutcomeItems[i].onchange = handleOutcomeToggled; - aceOutcomeItems[i].onclick = handleOutcomeClicked; - if (aceOutcomeItems[i].checked) { - outcomesChecked++; - } - } - if (outcomesChecked >= 2) { - for (var i = 0; i < aceOutcomeItems.length; i++) { - aceOutcomeItems[i].disabled = !aceOutcomeItems[i].checked; - } - } + + WDN.jQuery('#aceOutcomeList input[type=checkbox]').each(function(index) { + WDN.jQuery(this).change(handleOutcomeToggled); + WDN.jQuery(this).click(handleOutcomeClicked); + if (this.checked) { + outcomesChecked++; + } + }); + + if (outcomesChecked >= 2) { + WDN.jQuery('#aceOutcomeList input[type=checkbox]').each(function(index) { + this.disabled = !this.checked; + console.log(this.type); + }); + } } if (document.getElementById('aceReinforcementList')) { @@ -646,13 +648,13 @@ function handleReinforcementClicked() function handleOutcomeToggled() { - var aceOutcomeItems = document.getElementById('aceOutcomeList').getElementsByTagName('input'); + var aceOutcomeItems = WDN.jQuery('#aceOutcomeList input[type=checkbox]'); enforceMaximumSelectionCount(aceOutcomeItems, this, 2, true); } function handleReinforcementToggled() { - var aceReinforcementItems = document.getElementById('aceReinforcementList').getElementsByTagName('input'); + var aceReinforcementItems = WDN.jQuery('#aceReinforcementList input[type=checkbox]'); enforceMaximumSelectionCount(aceReinforcementItems, this, 100, true); }