Commit graph

530 commits

Author SHA1 Message Date
Paul Holden
a3c386af93
MDL-82463 reportbuilder: change non-numeric entity column types.
Where columns were previously of type `TYPE_INTEGER` or `TYPE_FLOAT`
but did not provide numeric data on output, we should change their
type to `TYPE_TEXT` (i.e. the default) to ensure that future work on
numeric aggregation doesn't affect them.
2024-07-15 10:42:01 +01:00
Ilya Tregubov
c7af8d8afa NOBUG: Add upgrade notes 2024-07-05 09:01:53 +08:00
Huong Nguyen
ccd8089de9
Merge branch 'MDL-80907' of https://github.com/marinaglancy/moodle 2024-07-04 11:12:50 +07:00
Jun Pataleta
130fff8fce
Merge branch 'MDL-52046-main' of https://github.com/davewoloszyn/moodle 2024-07-03 18:48:25 +08:00
Paul Holden
2d25cf1401
MDL-82331 reportbuilder: date filtering down to the nearest minute. 2024-06-28 10:36:48 +01:00
Huong Nguyen
053e0e8a87
Merge branch 'MDL-82068' of https://github.com/paulholden/moodle 2024-06-27 11:19:38 +07:00
Sara Arjona
510e8db405
NOBUG: Add upgrade notes 2024-06-20 16:30:46 +02:00
Huong Nguyen
ebae7fbae4
Merge branch 'MDL-81523' of https://github.com/stronk7/moodle 2024-06-19 09:52:10 +07:00
David Woloszyn
1b1128d646 MDL-52046 reportbuilder: Support null return from checkbox callback 2024-06-18 15:17:26 +10:00
Huong Nguyen
e7a432c01d
Merge branch 'MDL-82133' of https://github.com/lostrogit/moodle 2024-06-17 15:53:00 +07:00
Eloy Lafuente (stronk7)
674497a12c
MDL-81523 phpunit: Add all missing setUp/tearDown parent calls
All setUp(), tearDown(), setUpBeforeClass() and tearDownAfterClass()
must, always, call to parent, to ensure that everything is properly
set and cleaned.

While in a lot of situations this is not needed (parents may not
have anything to run), with PHPUnit >= 10 this can become more
important because we are going to move the reset code from current
placement @ runBare() to setUp()/tearDown().

Note that all the changes performed in this commit have been detected
and fixed by moodle-cs (ParentSetUpTearDownSniffTest).
2024-06-14 16:04:57 +02:00
Ilya Tregubov
788f0e6f0a NOBUG: Add upgrade notes 2024-06-14 08:56:53 +08:00
Carlos Castillo
5f93155c8c MDL-82133 reportbuilder: Move out RB exceptions to the L2 namespace 2024-06-12 09:02:29 +02:00
Jun Pataleta
7751f509ef
Merge branch 'MDL-76392' of https://github.com/paulholden/moodle 2024-06-11 17:23:55 +08:00
Paul Holden
78f56cffde
MDL-76392 reportbuilder: migrate manual to native report aggregation.
Now that system reports support aggregation natively, we can replace
a whole bunch of similar code containing hand-rolled versions with much
simpler/consistent use of API.
2024-06-07 16:08:22 +01:00
Dan Marsden
963afc4516
MDL-76392 reportbuilder: allow aggregation in system reports.
Co-authored-by: Paul Holden <paulh@moodle.com>
2024-06-07 01:05:35 +01:00
Paul Holden
7c3b8c0a40
MDL-82068 reportbuilder: re-factor SQL JOIN collection to trait.
Replace identical implementation of the same in various classes with
usage of the new trait. Implement constructor property promotion in
modified classes at the same time, to help clean up/clarify class
properties.
2024-06-05 13:36:22 +01:00
Paul Holden
a33e54c08f
MDL-82041 reportbuilder: switch time-sensitive code to new Clock API.
Where current implementation, and more specifically tests, rely on the
current time then replace that with the PSR-20 Clock from 298c13ac3b.

Applicable updates to the date filter and report scheduling calculation.
2024-05-31 15:37:42 +01:00
Sara Arjona
5d6c6bf81c
NOBUG: Add upgrade notes 2024-05-30 17:00:19 +02:00
Ilya Tregubov
8f9e93f5a3 NOBUG: Add upgrade notes 2024-05-24 10:51:52 +08:00
Andrew Nicols
0964cd5b69
MDL-81125 core: Update upgrade.txt files to document new upgrade notes 2024-05-20 22:26:45 +08:00
Sara Arjona
a7097cd8d4
Merge branch 'MDL-81168' of https://github.com/paulholden/moodle 2024-05-14 17:36:52 +02:00
Paul Holden
9b827c09ce
MDL-81434 reportbuilder: ensure filter/condition parameter uniqueness.
This change fixes an edge case that could be triggered by creating a
custom report that contained a filter instance that was active as both
a filter and condition, where the filter instance provides parameters
to it's SQL fragment.

There is only one such filter present currently with which we can test
this, see 2f9001cbe9.
2024-05-10 09:48:52 +01:00
Paul Holden
d9f05b81d0
MDL-81168 reportbuilder: better float input support in filters.
Support localised float values in filter forms, so that locales that
use different decimal separators work as expected.

Note lack of current support in the date filter.
2024-05-10 09:47:21 +01:00
Jun Pataleta
53a059fb9b
Merge branch 'MDL-81330' of https://github.com/paulholden/moodle 2024-05-09 11:49:18 +08:00
Jun Pataleta
823c7d752e
Merge branch 'MDL-81399' of https://github.com/paulholden/moodle 2024-05-09 11:45:45 +08:00
Jun Pataleta
44db44564e
Merge branch 'MDL-76690' of https://github.com/paulholden/moodle 2024-05-09 11:35:52 +08:00
Ilya Tregubov
7c535198ea Merge branch 'MDL-81433' of https://github.com/paulholden/moodle 2024-05-09 10:54:40 +08:00
Ilya Tregubov
52f49f3d7e Merge branch 'MDL-81754' of https://github.com/paulholden/moodle 2024-05-09 10:51:27 +08:00
Paul Holden
0fd8376451
MDL-76690 reportbuilder: final removal of deprecated helper methods. 2024-05-08 11:28:13 +01:00
Marina Glancy
49ab83c1a4 MDL-80907 various: fixes to incorrect column selectors in behat 2024-05-07 19:27:14 +01:00
David Carrillo
45b43d137f
MDL-81776 reportbuilder: Check tagarea enabled when check availability
- When checking availability for a column/filter we need to assert
tagarea is enabled because it can return also null value.
2024-05-03 11:40:35 +02:00
Paul Holden
260b786d53
MDL-81754 reportbuilder: consistent filter field comparison labels. 2024-05-01 11:19:16 +01:00
Paul Holden
bfde1fe687
MDL-81433 reportbuilder: return custom report tag data in WS calls. 2024-04-29 11:17:29 +01:00
Paul Holden
0a9715a88a
MDL-81330 reportbuilder: add cohort data to participants report source.
This is consistent with data added to similar sources that include user
attainment data, in this case users' course completion.
2024-04-29 11:14:16 +01:00
Paul Holden
e95cf00523
MDL-81399 reportbuilder: add language/timezone reporting for users. 2024-04-29 11:12:01 +01:00
Paul Holden
25780157bf
MDL-81603 reportbuilder: don't rely on real entity in datasource test. 2024-04-22 09:52:20 +01:00
Paul Holden
17fd4fe8f5
Merge branch 'MDL-81489' of https://github.com/lostrogit/moodle into main 2024-04-10 14:03:10 +01:00
Carlos Castillo
92211f291f MDL-81489 reportbuilder: Optional tags when create/update reports
Make tags property optional when create/update report.
2024-04-10 10:17:22 +02:00
David Carrillo
45d366d463
MDL-81488 reportbuilder: Fix incorrect string in report number filter 2024-04-10 09:23:10 +02:00
Shamim Rezaie
278ccdb7c4 Merge branch 'MDL-81126' of https://github.com/paulholden/moodle 2024-03-27 16:59:56 +11:00
Daniel Ziegenberg
08027e408c
MDL-81281 phpunit: assertObjectHasAttribute is deprecated
To be integrated as part of MDL-81266

When running PHPUnit 9.6 we get the following deprecation warnings:
"assertObjectHasAttribute() is deprecated and will be removed in PHPUnit
10. Refactor your test to use assertObjectHasProperty() instead."

So we replace all instances of assertObjectHasAttribute with
assertObjectHasProperty.

PHPUnit justifies the change with:
> PHPUnit currently refers to "fields" (see above) as "attributes". This
> is (or will become) confusing considering the introduction of
> attributes in PHP 8 and their support in PHPUnit.  PHPUnit will be
> changed to use the term "property" instead of "attribute" where "field"
> is meant.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-03-25 16:21:45 +01:00
Daniel Ziegenberg
87267da39d
MDL-81281 phpunit: assertObjectNotHasAttribute is deprecated
To be integrated as part of MDL-81266

When running PHPUnit 9.6 we get the following deprecation warnings:
"assertObjectNotHasAttribute() is deprecated and will be removed in PHPUnit
10. Refactor your test to use assertObjectNotHasProperty() instead."

So we replace all instances of assertObjectNotHasAttribute with
assertObjectNotHasProperty.

PHPUnit justifies the change with:
> PHPUnit currently refers to "fields" (see above) as "attributes". This
> is (or will become) confusing considering the introduction of
> attributes in PHP 8 and their support in PHPUnit.  PHPUnit will be
> changed to use the term "property" instead of "attribute" where "field"
> is meant.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-03-25 16:21:07 +01:00
Jun Pataleta
e366db6c55
Merge branch 'MDL-80843' of https://github.com/paulholden/moodle 2024-03-22 11:34:23 +08:00
Sara Arjona
484e52f6ae
Merge branch 'MDL-80245' of https://github.com/paulholden/moodle 2024-03-21 15:01:18 +01:00
Paul Holden
fbfcb6733d
MDL-80245 reportbuilder: implement interface elements for report tags.
Allow them to be edited during report creation/updating, display in
report listings table with filtering, and implement tag callback to
allow them to be discoverable across the site.
2024-03-21 13:11:22 +00:00
Sara Arjona
05dd0cd384
Merge branch 'MDL-80204-master' of https://github.com/izendegi/moodle 2024-03-13 12:24:41 +01:00
Iñigo Zendegi
a840d06652 MDL-80204 lang: Polysemic lang strings to & from
AMOS BEGIN
 CPY [to,moodle],[todate,moodle]
 MOV [to,moodle],[torecipient,moodle]
 CPY [from,moodle],[fromdate,moodle]
 MOV [from,moodle],[fromsender,moodle]
AMOS END
2024-03-12 11:51:03 +01:00
Eloy Lafuente (stronk7)
361dfe8145
MDL-75952 general: Since php81, refection->setAccessible() is no-op
Refereces:
- https://wiki.php.net/rfc/make-reflection-setaccessible-no-op
- https://www.php.net/manual/en/reflectionproperty.setaccessible.php
- https://www.php.net/manual/en/reflectionmethod.setaccessible.php

As of PHP 8.1.0, calling this method has no effect; all methods are
invokable by default. So, let's remove all uses from core, they are
no-op.
2024-03-10 21:15:00 +01:00
Ilya Tregubov
82859f1848 Merge branch 'MDL-80943' of https://github.com/paulholden/moodle 2024-03-08 09:21:44 +08:00