From 1180f2d49e475c3884f1961dcfb5bd349552c6dc Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Thu, 22 Mar 2012 10:28:39 +0800 Subject: [PATCH] MDL-32150 Libraries: checkbox controller will not check or uncheck freezed checkboxes --- lib/form/yui/checkboxcontroller/checkboxcontroller.js | 6 +++++- lib/formslib.php | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/form/yui/checkboxcontroller/checkboxcontroller.js b/lib/form/yui/checkboxcontroller/checkboxcontroller.js index abcbbbd8476..7543eb57eb1 100644 --- a/lib/form/yui/checkboxcontroller/checkboxcontroller.js +++ b/lib/form/yui/checkboxcontroller/checkboxcontroller.js @@ -100,7 +100,11 @@ YUI.add('moodle-form-checkboxcontroller', function(Y) { controllervaluenode.set('value', '1'); newvalue = 'checked'; } - checkboxes.set('checked', newvalue); + checkboxes.each(function(checkbox){ + if (!checkbox.get('disabled')) { + checkbox.set('checked', newvalue); + } + }); } } }); diff --git a/lib/formslib.php b/lib/formslib.php index 6d3298556cf..0f68d26e8a4 100644 --- a/lib/formslib.php +++ b/lib/formslib.php @@ -1066,7 +1066,8 @@ abstract class moodleform { if (!is_null($contollerbutton) || is_null($select_value)) { foreach ($mform->_elements as $element) { if (($element instanceof MoodleQuickForm_advcheckbox) && - $element->getAttribute('class') == $checkboxgroupclass) { + $element->getAttribute('class') == $checkboxgroupclass && + !$element->isFrozen()) { $mform->setConstants(array($element->getName() => $new_select_value)); } }