diff --git a/grade/edit/tree/category_form.php b/grade/edit/tree/category_form.php index f9705d272c0..7c5cae46b43 100644 --- a/grade/edit/tree/category_form.php +++ b/grade/edit/tree/category_form.php @@ -229,7 +229,7 @@ class edit_category_form extends moodleform { $mform->addElement('checkbox', 'grade_item_hidden', get_string('hidden', 'grades')); $mform->addHelpButton('grade_item_hidden', 'hidden', 'grades'); $mform->addElement('date_time_selector', 'grade_item_hiddenuntil', get_string('hiddenuntil', 'grades'), array('optional'=>true)); - $mform->disabledIf('grade_item_hidden', 'grade_item_hiddenuntil[off]', 'notchecked'); + $mform->disabledIf('grade_item_hidden', 'grade_item_hiddenuntil[enabled]', 'checked'); /// locking $mform->addElement('checkbox', 'grade_item_locked', get_string('locked', 'grades')); @@ -440,7 +440,12 @@ class edit_category_form extends moodleform { $grade_category = grade_category::fetch(array('id'=>$id)); $grade_item = $grade_category->load_grade_item(); - $mform->setDefault('grade_item_hidden', (int) $grade_item->hidden); + // Load appropriate "hidden"/"hidden until" defaults. + if ($grade_item->is_hiddenuntil()) { + $mform->setDefault('grade_item_hiddenuntil', $grade_item->get_hidden()); + } else { + $mform->setDefault('grade_item_hidden', $grade_item->get_hidden()); + } if ($grade_item->is_outcome_item()) { // we have to prevent incompatible modifications of outcomes if outcomes disabled diff --git a/grade/edit/tree/grade_form.php b/grade/edit/tree/grade_form.php index be8a0a69a22..9f468cf3170 100644 --- a/grade/edit/tree/grade_form.php +++ b/grade/edit/tree/grade_form.php @@ -93,7 +93,7 @@ class edit_grade_form extends moodleform { $mform->addElement('checkbox', 'hidden', get_string('hidden', 'grades')); $mform->addHelpButton('hidden', 'hidden', 'grades'); $mform->addElement('date_time_selector', 'hiddenuntil', get_string('hiddenuntil', 'grades'), array('optional'=>true)); - $mform->disabledIf('hidden', 'hiddenuntil[off]', 'notchecked'); + $mform->disabledIf('hidden', 'hiddenuntil[enabled]', 'checked'); /// locking $mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades')); diff --git a/grade/edit/tree/outcomeitem_form.php b/grade/edit/tree/outcomeitem_form.php index 285acbed4c3..0851c7bd8c2 100644 --- a/grade/edit/tree/outcomeitem_form.php +++ b/grade/edit/tree/outcomeitem_form.php @@ -78,7 +78,7 @@ class edit_outcomeitem_form extends moodleform { $mform->addElement('checkbox', 'hidden', get_string('hidden', 'grades')); $mform->addHelpButton('hidden', 'hidden', 'grades'); $mform->addElement('date_time_selector', 'hiddenuntil', get_string('hiddenuntil', 'grades'), array('optional'=>true)); - $mform->disabledIf('hidden', 'hiddenuntil[off]', 'notchecked'); + $mform->disabledIf('hidden', 'hiddenuntil[enabled]', 'checked'); //locking $mform->addElement('advcheckbox', 'locked', get_string('locked', 'grades')); diff --git a/grade/tests/external/create_gradecategories_test.php b/grade/tests/external/create_gradecategories_test.php index 433c5b06649..ef4295ce4e7 100644 --- a/grade/tests/external/create_gradecategories_test.php +++ b/grade/tests/external/create_gradecategories_test.php @@ -69,7 +69,6 @@ class create_gradecategories_test extends \externallib_advanced_testcase { // Check the path is correct. $this->assertEquals('/' . implode('/', [$courseparentcat->id, $record1->id, $record2->id]) . '/', $record2->path); - /* MDL-72377 commenting broken test. // Now create a category with some customised data and check the returns. This customises every value. $customopts = [ 'aggregation' => GRADE_AGGREGATE_MEAN, @@ -118,7 +117,7 @@ class create_gradecategories_test extends \externallib_advanced_testcase { $this->assertEquals(1, $cat3->grade_item->weightoverride); // Coefficient is converted to percentage. $this->assertEquals(0.2, $cat3->grade_item->aggregationcoef2); - $this->assertEquals($record2->id, $cat3->parent);*/ + $this->assertEquals($record2->id, $cat3->parent); // Now test creating 2 in parallel, and nesting them. $status4 = create_gradecategories::execute($course->id, [ diff --git a/lib/tests/grades_externallib_test.php b/lib/tests/grades_externallib_test.php index e5c3fa38d90..161849bad8b 100644 --- a/lib/tests/grades_externallib_test.php +++ b/lib/tests/grades_externallib_test.php @@ -307,7 +307,6 @@ class core_grades_external_testcase extends externallib_advanced_testcase { // Check the path is correct. $this->assertEquals('/' . implode('/', [$courseparentcat->id, $record1->id, $record2->id]) . '/', $record2->path); - /* MDL-72377 commenting broken test. // Now create a category with some customised data and check the returns. This customises every value. $customopts = [ 'aggregation' => GRADE_AGGREGATE_MEAN, @@ -354,7 +353,7 @@ class core_grades_external_testcase extends externallib_advanced_testcase { $this->assertEquals(1, $cat3->grade_item->weightoverride); // Coefficient is converted to percentage. $this->assertEquals(0.2, $cat3->grade_item->aggregationcoef2); - $this->assertEquals($record2->id, $cat3->parent);*/ + $this->assertEquals($record2->id, $cat3->parent); } }