Merge branch 'MDL-79801-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE

This commit is contained in:
Huong Nguyen 2023-11-02 10:15:40 +07:00
commit 883f98a3f2
No known key found for this signature in database
GPG Key ID: 40D88AB693A3E72A
2 changed files with 9 additions and 7 deletions

View File

@ -171,8 +171,8 @@ class tag extends base {
))
->add_joins($this->get_joins())
->set_type(column::TYPE_BOOLEAN)
->add_fields("{$tagalias}.flag")
->set_is_sortable(true)
->add_field("CASE WHEN {$tagalias}.flag > 0 THEN 1 ELSE {$tagalias}.flag END", 'flag')
->set_is_sortable(true, ["{$tagalias}.flag"])
->add_callback([format::class, 'boolean_as_text']);
// Time modified.
@ -224,7 +224,7 @@ class tag extends base {
'flagged',
new lang_string('flagged', 'core_tag'),
$this->get_entity_name(),
"{$tagalias}.flag"
"CASE WHEN {$tagalias}.flag > 0 THEN 1 ELSE {$tagalias}.flag END"
))
->add_joins($this->get_joins());

View File

@ -84,6 +84,7 @@ class tags_test extends core_reportbuilder_testcase {
public function test_datasource_non_default_columns(): void {
$this->resetAfterTest();
$this->getDataGenerator()->create_tag(['name' => 'Horses', 'description' => 'Neigh', 'flag' => 2]);
$course = $this->getDataGenerator()->create_course(['tags' => ['Horses']]);
$coursecontext = context_course::instance($course->id);
@ -125,8 +126,8 @@ class tags_test extends core_reportbuilder_testcase {
// Tag.
$this->assertEquals('Horses', $courserow[4]);
$this->assertEmpty($courserow[5]);
$this->assertEquals('No', $courserow[6]);
$this->assertEquals('<div class="text_to_html">Neigh</div>', $courserow[5]);
$this->assertEquals('Yes', $courserow[6]);
$this->assertNotEmpty($courserow[7]);
// Instance.
@ -187,10 +188,10 @@ class tags_test extends core_reportbuilder_testcase {
'tag:standard_operator' => boolean_select::CHECKED,
], false],
'Filter tag flagged' => ['tag:flagged', [
'tag:flagged_operator' => boolean_select::NOT_CHECKED,
'tag:flagged_operator' => boolean_select::CHECKED,
], true],
'Filter tag flagged (no match)' => ['tag:flagged', [
'tag:flagged_operator' => boolean_select::CHECKED,
'tag:flagged_operator' => boolean_select::NOT_CHECKED,
], false],
'Filter tag time modified' => ['tag:timemodified', [
'tag:timemodified_operator' => date::DATE_RANGE,
@ -245,6 +246,7 @@ class tags_test extends core_reportbuilder_testcase {
): void {
$this->resetAfterTest();
$this->getDataGenerator()->create_tag(['name' => 'Horses', 'flag' => 2]);
$this->getDataGenerator()->create_course(['tags' => ['Horses']]);
/** @var core_reportbuilder_generator $generator */