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

View File

@ -45,15 +45,25 @@ class report_test extends advanced_testcase {
$this->setAdminUser();
$report = report::create_report((object) [
'name' => 'My report',
'name' => 'My report with tags',
'source' => users::class,
'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->assertEqualsCanonicalizing(['cat', 'dog'],
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) [
'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,
'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->assertEqualsCanonicalizing(['cat', 'dog'],
core_tag_tag::get_item_tags_array('core_reportbuilder', 'reportbuilder_report', $reportupdated->get('id')));