From 5e9fd83df8f2c175681fa5a81d36df5ee313cb1e Mon Sep 17 00:00:00 2001 From: Jay Knight Date: Tue, 20 Nov 2012 09:51:41 -0600 Subject: [PATCH] MDL-36704: wrap pending conditions in span tags --- lib/conditionlib.php | 53 +++++++++++++++++++-------------- lib/tests/conditionlib_test.php | 22 +++++++------- 2 files changed, 42 insertions(+), 33 deletions(-) mode change 100644 => 100755 lib/conditionlib.php mode change 100644 => 100755 lib/tests/conditionlib_test.php diff --git a/lib/conditionlib.php b/lib/conditionlib.php old mode 100644 new mode 100755 index 96b958069d2..634cbb01643 --- a/lib/conditionlib.php +++ b/lib/conditionlib.php @@ -303,7 +303,8 @@ class condition_info_section extends condition_info_base { array($this->item->groupingid, $userid)); if (!$gotit && !has_capability('moodle/site:accessallgroups', $context, $userid)) { $available = false; - $information .= get_string('groupingnoaccess', 'condition'); + $information .= html_writer::tag('span', + get_string('groupingnoaccess', 'condition'), array('class'=>"conditionalrule groupingnoaccess")); } } else { // Request is for current user - use cache @@ -332,7 +333,8 @@ class condition_info_section extends condition_info_base { $usergroupings = $CONDITIONLIB_PRIVATE->groupingscache[$this->item->course]; if ($usergroupings !== true && !array_key_exists($this->item->groupingid, $usergroupings)) { $available = false; - $information .= get_string('groupingnoaccess', 'condition'); + $information .= html_writer::tag('span', + get_string('groupingnoaccess', 'condition'), array('class'=>"conditionalrule groupingnoaccess")); } } } @@ -776,9 +778,9 @@ abstract class condition_info_base { if (empty($modinfo->cms[$cmid])) { continue; } - $information .= get_string( - 'requires_completion_' . $expectedcompletion, - 'condition', $modinfo->cms[$cmid]->name) . ' '; + $information .= html_writer::tag('span', + get_string('requires_completion_' . $expectedcompletion, 'condition', $modinfo->cms[$cmid]->name).' ', + array('class'=>"conditionalrule requires_completion")); } } @@ -797,7 +799,8 @@ abstract class condition_info_base { } else { $string = 'range'; } - $information .= get_string('requires_grade_'.$string, 'condition', $minmax->name).' '; + $information .= html_writer::tag('span', get_string('requires_grade_'.$string, 'condition', $minmax->name).' ', + array('class'=>"conditionalrule requires_grade")); } } @@ -859,19 +862,22 @@ abstract class condition_info_base { if ($this->item->availablefrom && $this->item->availableuntil) { if ($shortfrom && $shortuntil && $daybeforeuntil == $this->item->availablefrom) { - $information .= get_string('requires_date_both_single_day', 'condition', - self::show_time($this->item->availablefrom, true)); + $information .= html_writer::tag('span', + get_string('requires_date_both_single_day', 'condition', self::show_time($this->item->availablefrom, true)), + array('class'=>"conditionalrule requires_date_both_single_day")); } else { - $information .= get_string('requires_date_both', 'condition', (object)array( - 'from' => self::show_time($this->item->availablefrom, $shortfrom), - 'until' => self::show_time($displayuntil, $shortuntil))); + $information .= html_writer::tag('span', + get_string('requires_date_both', 'condition', + (object)array('from' => self::show_time($this->item->availablefrom, $shortfrom), + 'until' => self::show_time($displayuntil, $shortuntil))), + array('class'=>"conditionalrule requires_date_both")); } } else if ($this->item->availablefrom) { - $information .= get_string('requires_date', 'condition', - self::show_time($this->item->availablefrom, $shortfrom)); + $information .= html_writer::tag('span', get_string('requires_date', 'condition', + self::show_time($this->item->availablefrom, $shortfrom)), array('class'=>"conditionalrule requires_date")); } else if ($this->item->availableuntil) { - $information .= get_string('requires_date_before', 'condition', - self::show_time($displayuntil, $shortuntil)); + $information .= html_writer::tag('span', get_string('requires_date_before', 'condition', + self::show_time($displayuntil, $shortuntil)), array('class'=>"conditionalrule requires_date_before")); } $information = trim($information); @@ -971,9 +977,9 @@ abstract class condition_info_base { } if (!$thisisok) { $available = false; - $information .= get_string( - 'requires_completion_' . $expectedcompletion, - 'condition', $modinfo->cms[$cmid]->name) . ' '; + $information .= html_writer::tag('span', + get_string('requires_completion_' . $expectedcompletion, 'condition', $modinfo->cms[$cmid]->name).' ', + array('class'=>"conditionalrule requires_completion")); } } } @@ -999,7 +1005,9 @@ abstract class condition_info_base { } else { $string = 'range'; } - $information .= get_string('requires_grade_' . $string, 'condition', $minmax->name) . ' '; + $information .= html_writer::tag('span', + get_string('requires_grade_' . $string, 'condition', $minmax->name).' ', + array('class'=>"conditionalrule requires_grade")); } } } @@ -1024,9 +1032,10 @@ abstract class condition_info_base { if (time() < $this->item->availablefrom) { $available = false; - $information .= get_string('requires_date', 'condition', - self::show_time($this->item->availablefrom, - self::is_midnight($this->item->availablefrom))); + $information .= html_writer::tag('span', + get_string('requires_date', 'condition', + self::show_time($this->item->availablefrom, self::is_midnight($this->item->availablefrom))), + array('class'=>"conditionalrule availablefrom")); } } diff --git a/lib/tests/conditionlib_test.php b/lib/tests/conditionlib_test.php old mode 100644 new mode 100755 index 75fed3cf3d2..a147199f4bd --- a/lib/tests/conditionlib_test.php +++ b/lib/tests/conditionlib_test.php @@ -481,7 +481,7 @@ class conditionlib_testcase extends advanced_testcase { condition_info::wipe_session_cache(); $this->assertFalse($ci->is_available($text,false)); - $this->assertEquals(get_string('requires_completion_1','condition','xxx'),$text); + $this->assertEquals(html_writer::tag('span',get_string('requires_completion_1','condition','xxx').' ',array('class'=>'conditionalrule requires_completion')),$text); completion_info::wipe_session_cache(); $completion=new completion_info($DB->get_record('course',array('id'=>$courseid))); $completion->update_state($oldcm,COMPLETION_COMPLETE); @@ -513,7 +513,7 @@ class conditionlib_testcase extends advanced_testcase { // Add a condition on a value existing... $ci->add_grade_condition($gradeitemid,null,null,true); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(get_string('requires_grade_any','condition','frog'),$text); + $this->assertEquals(html_writer::tag('span',get_string('requires_grade_any','condition','frog').' ',array('class'=>'conditionalrule requires_grade')),$text); // Fake it existing $DB->insert_record('grade_grades',(object)array( @@ -529,7 +529,7 @@ class conditionlib_testcase extends advanced_testcase { $ci->add_grade_condition($gradeitemid,3.78001,null,true); condition_info::wipe_session_cache(); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(get_string('requires_grade_min','condition','frog'),$text); + $this->assertEquals(html_writer::tag('span',get_string('requires_grade_min','condition','frog').' ',array('class'=>'conditionalrule requires_grade')),$text); // ...just on 3.78... $ci->wipe_conditions(); @@ -542,7 +542,7 @@ class conditionlib_testcase extends advanced_testcase { $ci->add_grade_condition($gradeitemid,null,3.78,true); condition_info::wipe_session_cache(); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(get_string('requires_grade_max','condition','frog'),$text); + $this->assertEquals(html_writer::tag('span',get_string('requires_grade_max','condition','frog').' ',array('class'=>'conditionalrule requires_grade')),$text); // ...less than 3.78001 $ci->wipe_conditions(); @@ -561,7 +561,7 @@ class conditionlib_testcase extends advanced_testcase { $ci->add_grade_condition($gradeitemid,4,5,true); condition_info::wipe_session_cache(); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(get_string('requires_grade_range','condition','frog'),$text); + $this->assertEquals(html_writer::tag('span',get_string('requires_grade_range','condition','frog').' ',array('class'=>'conditionalrule requires_grade')),$text); } public function test_section_is_available() { @@ -632,7 +632,7 @@ class conditionlib_testcase extends advanced_testcase { // Completion: Check $this->assertFalse($ci->is_available($text, false)); - $this->assertEquals(get_string('requires_completion_1', 'condition', 'xxx'), $text); + $this->assertEquals(html_writer::tag('span',get_string('requires_completion_1', 'condition', 'xxx').' ',array('class'=>'conditionalrule requires_completion')), $text); completion_info::wipe_session_cache(); $completion = new completion_info($DB->get_record('course', array('id' => $courseid))); $completion->update_state($cm, COMPLETION_COMPLETE); @@ -665,7 +665,7 @@ class conditionlib_testcase extends advanced_testcase { $ci->wipe_conditions(); $ci->add_grade_condition($gradeitemid, null, null, true); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(get_string('requires_grade_any', 'condition', 'frog'), $text); + $this->assertEquals(html_writer::tag('span',get_string('requires_grade_any', 'condition', 'frog').' ',array('class'=>'conditionalrule requires_grade')), $text); // Grade: Fake it existing $DB->insert_record('grade_grades', (object)array( @@ -680,7 +680,7 @@ class conditionlib_testcase extends advanced_testcase { $ci->add_grade_condition($gradeitemid, 3.78001, null, true); condition_info_section::wipe_session_cache(); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(get_string('requires_grade_min', 'condition', 'frog'), $text); + $this->assertEquals(html_writer::tag('span',get_string('requires_grade_min', 'condition', 'frog').' ',array('class'=>'conditionalrule requires_grade')), $text); // Grade: ...just on 3.78... $ci->wipe_conditions(); @@ -693,7 +693,7 @@ class conditionlib_testcase extends advanced_testcase { $ci->add_grade_condition($gradeitemid, null, 3.78, true); condition_info_section::wipe_session_cache(); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(get_string('requires_grade_max', 'condition', 'frog'), $text); + $this->assertEquals(html_writer::tag('span',get_string('requires_grade_max', 'condition', 'frog').' ',array('class'=>'conditionalrule requires_grade')), $text); // Grade: ...less than 3.78001 $ci->wipe_conditions(); @@ -712,7 +712,7 @@ class conditionlib_testcase extends advanced_testcase { $ci->add_grade_condition($gradeitemid, 4, 5, true); condition_info_section::wipe_session_cache(); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(get_string('requires_grade_range', 'condition', 'frog'), $text); + $this->assertEquals(html_writer::tag('span',get_string('requires_grade_range', 'condition', 'frog').' ',array('class'=>'conditionalrule requires_grade')), $text); // Grouping: Not member $groupingid = $this->make_grouping($courseid, 'Grouping'); @@ -721,7 +721,7 @@ class conditionlib_testcase extends advanced_testcase { $ci = new condition_info_section((object)array('id' => $sectionid), CONDITION_MISSING_EVERYTHING); $this->assertFalse($ci->is_available($text)); - $this->assertEquals(trim(get_string('groupingnoaccess', 'condition')), $text); + $this->assertEquals(html_writer::tag('span',get_string('groupingnoaccess', 'condition'),array('class'=>'conditionalrule groupingnoaccess')), $text); // Grouping: Member $this->assertTrue(groups_add_member($groupid, $USER->id)); -- 2.43.0