diff --git a/reportbuilder/classes/external/custom_report_exporter.php b/reportbuilder/classes/external/custom_report_exporter.php index b3e9f9fb6c0..18b6b05d21d 100644 --- a/reportbuilder/classes/external/custom_report_exporter.php +++ b/reportbuilder/classes/external/custom_report_exporter.php @@ -153,7 +153,7 @@ class custom_report_exporter extends persistent_exporter { // Generate filters form if report contains any filters. $filterspresent = !empty($report->get_active_filters()); - if ($filterspresent) { + if ($filterspresent && empty($this->download)) { $filtersform = $this->generate_filters_form()->render(); } diff --git a/reportbuilder/classes/external/system_report_exporter.php b/reportbuilder/classes/external/system_report_exporter.php index 4a2e2854bec..919c58cc1c2 100644 --- a/reportbuilder/classes/external/system_report_exporter.php +++ b/reportbuilder/classes/external/system_report_exporter.php @@ -104,12 +104,13 @@ class system_report_exporter extends persistent_exporter { $filterset->add_filter(new integer_filter('reportid', null, [$reportid])); $filterset->add_filter(new string_filter('parameters', null, [$parameters])); - $table = system_report_table::create($reportid, (array) json_decode($parameters, true)); + $params = (array) json_decode($parameters, true); + $table = system_report_table::create($reportid, $params); $table->set_filterset($filterset); // Generate filters form if report uses the default form, and contains any filters. $filterspresent = $source->get_filter_form_default() && !empty($source->get_active_filters()); - if ($filterspresent) { + if ($filterspresent && empty($params['download'])) { $filtersform = new filter(null, null, 'post', '', [], true, [ 'reportid' => $reportid, 'parameters' => $parameters,