From 260b786d537146d4596faa73e13abe5da9ca92f0 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Wed, 17 Apr 2024 08:46:54 +0100 Subject: [PATCH] MDL-81754 reportbuilder: consistent filter field comparison labels. --- lang/en/reportbuilder.php | 7 +++++-- reportbuilder/classes/local/filters/date.php | 8 ++++---- reportbuilder/classes/local/filters/user.php | 4 +++- .../tests/behat/customreports.feature | 19 +++++++++++++++++++ 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/lang/en/reportbuilder.php b/lang/en/reportbuilder.php index 2e61d15c0a6..aeba45202b0 100644 --- a/lang/en/reportbuilder.php +++ b/lang/en/reportbuilder.php @@ -126,7 +126,6 @@ $string['filterdateafter'] = 'After'; $string['filterdatebefore'] = 'Before'; $string['filterdatecurrent'] = 'Current'; $string['filterdatedays'] = 'day(s)'; -$string['filterdatefrom'] = 'Date from'; $string['filterdatefuture'] = 'In the future'; $string['filterdatehours'] = 'hour(s)'; $string['filterdatelast'] = 'Last'; @@ -135,7 +134,6 @@ $string['filterdatemonths'] = 'month(s)'; $string['filterdatenext'] = 'Next'; $string['filterdatepast'] = 'In the past'; $string['filterdateseconds'] = 'second(s)'; -$string['filterdateto'] = 'Date to'; $string['filterdateweeks'] = 'week(s)'; $string['filterdateyears'] = 'year(s)'; $string['filterdeleted'] = 'Deleted filter \'{$a}\''; @@ -143,6 +141,7 @@ $string['filterdoesnotcontain'] = 'Does not contain'; $string['filterendswith'] = 'Ends with'; $string['filterequalorgreaterthan'] = 'Greater than or equal'; $string['filterequalorlessthan'] = 'Less than or equal'; +$string['filterfieldfrom'] = '{$a} from'; $string['filterfieldoperator'] = '{$a} operator'; $string['filterfieldto'] = '{$a} to'; $string['filterfieldunit'] = '{$a} unit'; @@ -287,3 +286,7 @@ $string['viewreport'] = 'View report'; // Deprecated since Moodle 4.4. $string['filterdurationunit'] = '{$a} unit'; + +// Deprecated since Moodle 4.5. +$string['filterdatefrom'] = 'Date from'; +$string['filterdateto'] = 'Date to'; diff --git a/reportbuilder/classes/local/filters/date.php b/reportbuilder/classes/local/filters/date.php index 56618679651..6886cd1547b 100644 --- a/reportbuilder/classes/local/filters/date.php +++ b/reportbuilder/classes/local/filters/date.php @@ -151,14 +151,14 @@ class date extends base { ->setHiddenLabel(true); // Date selectors for range operator. - $mform->addElement('date_selector', "{$this->name}_from", get_string('filterdatefrom', 'core_reportbuilder'), - ['optional' => true]); + $mform->addElement('date_selector', "{$this->name}_from", + get_string('filterfieldfrom', 'core_reportbuilder', $this->get_header()), ['optional' => true]); $mform->setType("{$this->name}_from", PARAM_INT); $mform->setDefault("{$this->name}_from", 0); $mform->hideIf("{$this->name}_from", "{$this->name}_operator", 'neq', self::DATE_RANGE); - $mform->addElement('date_selector', "{$this->name}_to", get_string('filterdateto', 'core_reportbuilder'), - ['optional' => true]); + $mform->addElement('date_selector', "{$this->name}_to", + get_string('filterfieldto', 'core_reportbuilder', $this->get_header()), ['optional' => true]); $mform->setType("{$this->name}_to", PARAM_INT); $mform->setDefault("{$this->name}_to", 0); $mform->hideIf("{$this->name}_to", "{$this->name}_operator", 'neq', self::DATE_RANGE); diff --git a/reportbuilder/classes/local/filters/user.php b/reportbuilder/classes/local/filters/user.php index 91d7b037e5a..a2554f430f3 100644 --- a/reportbuilder/classes/local/filters/user.php +++ b/reportbuilder/classes/local/filters/user.php @@ -72,6 +72,8 @@ class user extends base { $mform->setType("{$this->name}_operator", PARAM_INT); $mform->setDefault("{$this->name}_operator", self::USER_ANY); + // Specific user selection. + $valuelabel = get_string('filterfieldvalue', 'core_reportbuilder', $this->get_header()); $options = [ 'ajax' => 'core_user/form_user_selector', 'multiple' => true, @@ -80,7 +82,7 @@ class user extends base { return fullname($user, has_capability('moodle/site:viewfullnames', context_system::instance())); } ]; - $mform->addElement('autocomplete', "{$this->name}_value", get_string('user'), [], $options) + $mform->addElement('autocomplete', "{$this->name}_value", $valuelabel, [], $options) ->setHiddenLabel(true); $mform->hideIf("{$this->name}_value", "{$this->name}_operator", 'neq', self::USER_SELECT); } diff --git a/reportbuilder/tests/behat/customreports.feature b/reportbuilder/tests/behat/customreports.feature index 3cccb734b08..a1fab78ee0c 100644 --- a/reportbuilder/tests/behat/customreports.feature +++ b/reportbuilder/tests/behat/customreports.feature @@ -174,6 +174,25 @@ Feature: Manage custom reports | Report source | Users | | Tags | Cat | + Scenario: Filter custom reports by date + Given the following "core_reportbuilder > Report" exists: + | name | My report | + | source | core_user\reportbuilder\datasource\users | + And I log in as "admin" + When I navigate to "Reports > Report builder > Custom reports" in site administration + And I click on "Filters" "button" + And I set the following fields in the "Time created" "core_reportbuilder > Filter" to these values: + | Time created operator | Range | + | Time created from | ##2 days ago## | + | Time created to | ##tomorrow## | + And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element" + Then I should see "Filters applied" + And I should see "My report" in the "Reports list" "table" + And I set the field "Time created to" in the "Time created" "core_reportbuilder > Filter" to "##yesterday##" + And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element" + And I should see "Nothing to display" + And "Reports list" "table" should not exist + Scenario: Custom report tags are not displayed if tagging is disabled Given the following config values are set as admin: | usetags | 0 |