3521 Commits

Author SHA1 Message Date
Andrew Nicols
d937e01550
MDL-80005 core: Move all param validation methods 2024-01-16 22:54:46 +08:00
Andrew Nicols
0d7d5d2e56
MDL-80005 core: Move clean_param and PARAM definitions
Move these into a new enum object which ensures that all content is
together.
2024-01-16 22:53:55 +08:00
Huong Nguyen
a75e325fdc Merge branch 'MDL-80229-main' of https://github.com/davewoloszyn/moodle 2024-01-11 10:35:42 +07:00
Paul Holden
b98fd96084
MDL-71733 behat: final removal of deprecated 400 step definitions. 2024-01-04 12:43:52 +00:00
Sara Arjona
58285c6afb
Merge branch 'MDL-80186-main' of https://github.com/ferranrecio/moodle 2024-01-02 13:27:27 +01:00
Ferran Recio
837dc7e852 MDL-80186 course: adding new fields to delegate sections logic 2023-12-20 12:02:51 +01:00
Ilya Tregubov
e80f5e1f6e Merge branch 'MDL-79128-main' of https://github.com/HuongNV13/moodle 2023-12-20 16:12:35 +08:00
Huong Nguyen
f13392d230 MDL-79128 adhoc_task: Implement failed ad-hoc task cleanup
Co-authored-by: Stevani Andolo <stevani.andolo@moodle.com>
2023-12-20 13:55:13 +07:00
Huong Nguyen
6c047c40b7 MDL-79128 adhoc_task: Only rerun the allowed task
Co-authored-by: Stevani Andolo <stevani.andolo@moodle.com>
2023-12-20 13:55:13 +07:00
Huong Nguyen
a44f14c79e MDL-79128 adhoc_task: Implement no-retry task
Co-authored-by: Stevani Andolo <stevani.andolo@moodle.com>

Including in this commit:
 - Added a new counter called attemptsavailable for ad-hoc task
 - PHPUnit test for the new feature
2023-12-20 13:55:13 +07:00
Ilya Tregubov
1e83b9eba7 Merge branch 'MDL-79985-master' of https://github.com/ferranrecio/moodle 2023-12-20 09:06:08 +08:00
Ferran Recio
3344354641 MDL-79985 forms: add choicedropdown form element
The new quick form field uses a choice list to display a dropdown
component inside a form. Apart from que quick form code, the patch also
include a small improvement to the choicelist class to disable empty
values. This small patch is needed because the quickform field won't
allow empty values.
2023-12-19 09:43:35 +01:00
Ilya Tregubov
6a300c0850 Merge branch 'MDL-79938-main' of https://github.com/sammarshallou/moodle 2023-12-14 08:49:47 +08:00
Sara Arjona
0c699e9e06
Merge branch 'MDL-74778-main' of https://github.com/roland04/moodle 2023-12-13 17:44:22 +01:00
sam marshall
c219e1224a MDL-79938 Behat: Add steps to support multiple tabs 2023-12-12 16:42:13 +00:00
Jun Pataleta
030def7a46
Merge branch 'MDL-80079-master' of https://github.com/andrewnicols/moodle 2023-12-06 21:59:47 +08:00
Sara Arjona
7ac70d80b2
Merge branch 'MDL-55640-main' of https://github.com/sammarshallou/moodle 2023-12-05 16:01:49 +01:00
Mikel Martín
cc8d4b1358 MDL-74778 course: Final removal of format.js
The format.js files in format weeks and format topic were deprecated
since 4.0.
Removing those files and code occurrences.
2023-12-04 12:40:39 +01:00
Sara Arjona
33ffa3b6a2
Merge branch 'MDL-80185' of https://github.com/paulholden/moodle 2023-12-04 11:00:38 +01:00
sam marshall
2077ae03f8 MDL-55640 setuplib: test_localcachedir fails sporadically 2023-11-30 13:56:11 +00:00
Ilya Tregubov
37737a92d6 Merge branch 'MDL-79890-master' of https://github.com/andrewnicols/moodle 2023-11-30 10:44:35 +08:00
Ferran Recio
93cb5b090a MDL-79999 course: save session cache by id
The course modinfo cache now stores sections no matter the section
number. This will be needed when delegated sections will be implemented.
2023-11-29 15:16:36 +01:00
David Woloszyn
09c1a4caa7 MDL-80229 core: Add tolerance to min_get_minimum_revision 2023-11-24 15:49:16 +11:00
Andrew Nicols
71ab68a7d0
Merge branch 'MDL-79966-main' of https://github.com/sammarshallou/moodle 2023-11-23 10:26:53 +08:00
Ilya Tregubov
abf2c568be
Merge branch 'mdl67898-check-setting-admintree' of https://github.com/matthewhilton/moodle 2023-11-23 10:25:20 +08:00
Sara Arjona
424c9cb1bd
MDL-79912 backup: Create Course reuse index page
The backup/view.php page has been created to display the list of
course reuse actions available for users.
That way, the "Course reuse" option in the secondary navigation
will display this page instead of redirecting to the first action
available.

Apart from that, the headers for all the Course reuse actions have
been homogenised and the tertiary navigation selector has been included,
to replace headers and make it easier navigate between actions.
2023-11-22 18:11:43 +01:00
Paul Holden
4be39296d6
MDL-80185 lang: use iso6391 language code for HTML lang attributes.
This resolves accessibility issues where Moodle language pack codes
didn't always map to correspondingly named iso6391 codes.

Where this value is defined in the language configuration, it will
now be used.
2023-11-21 21:37:12 +00:00
Matthew Hilton
9b8acd44d1
MDL-67898 check: Add check admin setting
This admin setting allows you to display a check anywhere in the admin
tree. It uses a webservice to execute the check, so the impact on the
admin tree performance is as low as possible.

Checks do not necessarily need to be registered in the plugins callback
to be shown here, allowing customisation of what is shown in the
settings versus the reports.
2023-11-21 12:04:42 +10:00
Matthew Hilton
bc4df2af71
MDL-67898 check: Get component if not set by manager 2023-11-21 11:47:26 +10:00
sam marshall
1c4d433d5f MDL-79966 core_task: Scheduled task timing (crontab fields) is wrong 2023-11-20 17:13:21 +00:00
Andrew Nicols
846892ab07
MDL-79697 core: Coding style updates 2023-11-15 21:24:31 +08:00
Andrew Nicols
db556a4ce8
MDL-79697 core: PSR-4 NS can be spread across multiple dirs
The PSR-4 specification does not preclude a single namespaces from
having multiple sources. This is the case for several PSR standards
including standard packagist packages distributed by PSR:

- PSR-7 - HTTP Message Interfaces: \Psr\Http\Message
- PSR-17 - HTTP Factories: \Psr\Http\Message
- PSR-15 - http-server-handler: \Psr\Http\Server
- PSR-15 - http-server-middleware: \Psr\Http\Server
2023-11-15 21:23:27 +08:00
Andrew Nicols
0efbc79e5f
MDL-79890 core: Add polyfill for array_keys with filter
This is a Moodle version of a proposed function `array_keys_filter`.

Since this method has not yet been created in upstream PHP, I have
elected to name it with a Moodle prefix as the signature is not known.

In the future, if and when this method is created, we can replace its
content with new method and deprecate it.
2023-11-15 09:14:40 +08:00
Andrew Nicols
e734858e55
MDL-79890 core: Session handlers must implement SessionHandlerInterface 2023-11-15 09:14:40 +08:00
Andrew Nicols
898ac0ab6d
MDL-79890 core: ReflectionProperties::setValue() should take 2 args
Since PHP 8.3 setValue() must be called with null as the first arg if
called statically.
2023-11-15 09:14:34 +08:00
Andrew Nicols
dde3333eaa
MDL-80079 core: Correct incorrect arg to format_text::$options 2023-11-14 22:28:55 +08:00
Andrew Nicols
dab4a2b66f
MDL-80079 core: Correct incorrect arg to format_string::$options 2023-11-14 22:28:55 +08:00
Paul Holden
58d9babe56
MDL-79629 javascript: native promises enhancing autocomplete module.
Preserve existing `enhance` method return of jQuery style promises to
allow calling code to continue relying on that (e.g. when calling old
style `.done` and `.fail`).

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-11-08 20:05:35 +00:00
Ilya Tregubov
4df21a5ad8
Merge branch 'MDL-79615_master' of https://github.com/marxjohnson/moodle 2023-11-08 10:42:10 +08:00
Huong Nguyen
36677cd883 Merge branch 'MDL-79739-master' of https://github.com/andrewnicols/moodle 2023-11-08 09:23:37 +07:00
Laurent David
bef0cb7a34 MDL-77274 core_renderer: Respect full name format in letter avatars
* Make sure that we respect the fullnamedisplay and alternativefullnameformat
parameters to decide on the initials for a given user
* Add further tests

Co-authored-by: Tatsunori Uchino <tats.u@live.jp>
2023-10-30 06:14:18 +01:00
Mark Johnson
f3fc03e90c MDL-79615 course: Improve efficency of cache rebuilds
When bulk-updating course module visibility, set_coursemodule_visibily
was triggering a partial cache purge and rebuild for each course module.
This potentially led to 2 cache sets each requiring a lock to be
acquired and released per course module, plus any other cache updates
for other changes to the course in the same request.

This adds a new $rebuildcache paramter to the
set_coursemodule_visibilty, which is true by default to retain the
existing behaviour. If set false, it will skip doing the partial purge
and rebuild for that course module, and it is up to the calling code to
ensure the cache is updated as requried.

To assist with this, there is a new
course_modinfo::purge_course_module_cache_multiple() method, which
allows multiple course modules to be purged from the cache in a single
cache set.
2023-10-27 10:50:40 +01:00
Andrew Nicols
06965b823e
MDL-79739 core: Only run some tests in separate processes 2023-10-17 12:18:37 +08:00
Huong Nguyen
5209baef9e Merge branch 'MDL-79698-master' of https://github.com/andrewnicols/moodle 2023-10-16 11:39:39 +07:00
Andrew Nicols
9942c14856
MDL-79698 core: Correct duplicate array key in test provider 2023-10-13 15:43:47 +08:00
Paul Holden
dc01be8c54
MDL-79611 group: early exit getting members of non-existing group. 2023-10-09 15:00:14 +01:00
Sara Arjona
563851857f
Merge branch 'MDL-79602-master' of https://github.com/HuongNV13/moodle 2023-10-05 13:03:46 +02:00
Jun Pataleta
9071c03b41
Merge branch 'MDL-79381-master' of https://github.com/HuongNV13/moodle 2023-10-05 18:18:33 +08:00
Huong Nguyen
d0294388d7
MDL-79602 core: Handle empty selection for MoodleNet 2023-10-05 12:10:11 +07:00
Eloy Lafuente (stronk7)
a48504f8fb
MDL-79381 core: MoodleNet PHPUnit with the new controllers
Basically the changes imply that:
- For some tests that are using reflection, we need to ensure
  that the backup controller is passed.
- And, whenever used explicitly in tests, it has to be destroyed.
  (note that this leaves out tests running get_package(), because
  that method now instantiates and destroys the controller by itself.
  only tests that get a controller need to destroy it).
- Move from some old functions to the new ones introduced in the issue.
2023-10-05 10:40:33 +07:00