MDL-72133 report_loglive: Display logs filtered by deleted course ids

This commit is contained in:
Benjamin Walker
2025-07-28 09:06:40 +10:00
parent eb0634d489
commit b3e2e81b0d
5 changed files with 79 additions and 16 deletions
+16 -3
View File
@@ -64,6 +64,9 @@ class report_loglive_renderable implements renderable {
/** @var int group id */
public $groupid;
/** @var int forces the use of a course filter in site context */
public $sitecoursefilter;
/** @var report_loglive_table_log table log which will be used for rendering logs */
public $tablelog;
@@ -80,11 +83,12 @@ class report_loglive_renderable implements renderable {
* @param int $page (optional) page number.
* @param int $perpage (optional) number of records to show per page.
* @param string $order (optional) sortorder of fetched records
* @param int $sitecoursefilter (optional) use a course filter in site context.
*/
public function __construct($logreader = "", $course = 0, $url = "", $date = 0, $page = 0, $perpage = 100,
$order = "timecreated DESC") {
$order = "timecreated DESC", $sitecoursefilter = 0) {
global $PAGE;
global $PAGE, $SITE;
// Use first reader as selected reader, if not passed.
if (empty($logreader)) {
@@ -108,7 +112,14 @@ class report_loglive_renderable implements renderable {
// Use site course id, if course is empty.
if (!empty($course) && is_int($course)) {
$course = get_course($course);
$courseid = $course;
try {
$course = get_course($courseid);
} catch (dml_missing_record_exception) {
// Missing courses may have be deleted, so display them in site context.
$course = 0;
$sitecoursefilter = $courseid;
}
}
$this->course = $course;
@@ -120,6 +131,7 @@ class report_loglive_renderable implements renderable {
$this->page = $page;
$this->perpage = $perpage;
$this->order = $order;
$this->sitecoursefilter = $sitecoursefilter;
$this->set_refresh_rate();
}
@@ -184,6 +196,7 @@ class report_loglive_renderable implements renderable {
$filter->logreader = $readers[$this->selectedlogreader];
$filter->date = $this->date;
$filter->orderby = $this->order;
$filter->sitecoursefilter = $this->sitecoursefilter;
return $filter;
}