Merge branch 'MDL-81489' of https://github.com/lostrogit/moodle into main

This commit is contained in:
Paul Holden 2024-04-10 14:03:10 +01:00
commit 17fd4fe8f5
No known key found for this signature in database
GPG key ID: A81A96D6045F6164
2 changed files with 33 additions and 8 deletions

View file

@ -63,8 +63,10 @@ class report {
} }
// Report tags. // Report tags.
core_tag_tag::set_item_tags('core_reportbuilder', 'reportbuilder_report', $report->get('id'), if (property_exists($data, "tags")) {
$report->get_context(), $data->tags); core_tag_tag::set_item_tags('core_reportbuilder', 'reportbuilder_report', $report->get('id'),
$report->get_context(), $data->tags);
}
return $report; return $report;
} }
@ -87,8 +89,10 @@ class report {
])->update(); ])->update();
// Report tags. // Report tags.
core_tag_tag::set_item_tags('core_reportbuilder', 'reportbuilder_report', $report->get('id'), if (property_exists($data, "tags")) {
$report->get_context(), $data->tags); core_tag_tag::set_item_tags('core_reportbuilder', 'reportbuilder_report', $report->get('id'),
$report->get_context(), $data->tags);
}
return $report; return $report;
} }

View file

@ -45,15 +45,25 @@ class report_test extends advanced_testcase {
$this->setAdminUser(); $this->setAdminUser();
$report = report::create_report((object) [ $report = report::create_report((object) [
'name' => 'My report', 'name' => 'My report with tags',
'source' => users::class, 'source' => users::class,
'tags' => ['cat', 'dog'], 'tags' => ['cat', 'dog'],
]); ]);
$this->assertEquals('My report', $report->get('name')); $this->assertEquals('My report with tags', $report->get('name'));
$this->assertEquals(datasource::TYPE_CUSTOM_REPORT, $report->get('type')); $this->assertEquals(datasource::TYPE_CUSTOM_REPORT, $report->get('type'));
$this->assertEqualsCanonicalizing(['cat', 'dog'], $this->assertEqualsCanonicalizing(['cat', 'dog'],
core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report', $report->get('id'))); core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report', $report->get('id')));
$report = report::create_report((object) [
'name' => 'My report without tags',
'source' => users::class,
]);
$this->assertEquals('My report without tags', $report->get('name'));
$this->assertEquals(datasource::TYPE_CUSTOM_REPORT, $report->get('type'));
$this->assertEmpty(core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report',
$report->get('id')));
} }
/** /**
@ -69,12 +79,23 @@ class report_test extends advanced_testcase {
$reportupdated = report::update_report((object) [ $reportupdated = report::update_report((object) [
'id' => $report->get('id'), 'id' => $report->get('id'),
'name' => 'My renamed report', 'name' => 'My renamed report without add tags',
'uniquerows' => 1,
]);
$this->assertEquals('My renamed report without add tags', $reportupdated->get('name'));
$this->assertTrue($reportupdated->get('uniquerows'));
$this->assertEmpty(core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report',
$reportupdated->get('id')));
$reportupdated = report::update_report((object) [
'id' => $report->get('id'),
'name' => 'My renamed report adding tags',
'uniquerows' => 1, 'uniquerows' => 1,
'tags' => ['cat', 'dog'], 'tags' => ['cat', 'dog'],
]); ]);
$this->assertEquals('My renamed report', $reportupdated->get('name')); $this->assertEquals('My renamed report adding tags', $reportupdated->get('name'));
$this->assertTrue($reportupdated->get('uniquerows')); $this->assertTrue($reportupdated->get('uniquerows'));
$this->assertEqualsCanonicalizing(['cat', 'dog'], $this->assertEqualsCanonicalizing(['cat', 'dog'],
core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report', $reportupdated->get('id'))); core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report', $reportupdated->get('id')));