integration.git
11 days agoMerge branch 'MDL-87444-main' of https://github.com/roland04/moodle
Huong Nguyen [Tue, 13 Jan 2026 03:18:36 +0000 (10:18 +0700)]
Merge branch 'MDL-87444-main' of https://github.com/roland04/moodle

11 days agoMerge branch 'MDL-87443' of https://github.com/paulholden/moodle
Huong Nguyen [Tue, 13 Jan 2026 03:15:36 +0000 (10:15 +0700)]
Merge branch 'MDL-87443' of https://github.com/paulholden/moodle

11 days agoMerge branch 'MDL-87229-main' of https://github.com/lucaboesch/moodle
Huong Nguyen [Mon, 12 Jan 2026 08:46:03 +0000 (15:46 +0700)]
Merge branch 'MDL-87229-main' of https://github.com/lucaboesch/moodle

11 days agoMerge branch 'MDL-87056' of https://github.com/paulholden/moodle
Huong Nguyen [Mon, 12 Jan 2026 08:27:01 +0000 (15:27 +0700)]
Merge branch 'MDL-87056' of https://github.com/paulholden/moodle

11 days agoMerge branch 'MDL-86565' of https://github.com/paulholden/moodle
Huong Nguyen [Mon, 12 Jan 2026 08:23:51 +0000 (15:23 +0700)]
Merge branch 'MDL-86565' of https://github.com/paulholden/moodle

11 days agoMerge branch 'MDL-87120' of https://github.com/paulholden/moodle
Huong Nguyen [Mon, 12 Jan 2026 08:01:48 +0000 (15:01 +0700)]
Merge branch 'MDL-87120' of https://github.com/paulholden/moodle

11 days agoMDL-87283 core_course: Create a new page for restricted activities
Amaia Anabitarte [Wed, 14 Jan 2026 08:45:14 +0000 (09:45 +0100)]
MDL-87283 core_course: Create a new page for restricted activities

Only the activities with visible restrictions will be available.

11 days agoMDL-87283 core: Add new path_module parameter type for routing
Amaia Anabitarte [Wed, 14 Jan 2026 08:44:14 +0000 (09:44 +0100)]
MDL-87283 core: Add new path_module parameter type for routing

12 days agoAutomatically generated installer lang files
AMOS bot [Thu, 15 Jan 2026 00:08:11 +0000 (00:08 +0000)]
Automatically generated installer lang files

13 days agoMDL-87634 core: exclude fixtures from Github actions "one-by-one" job.
Paul Holden [Mon, 12 Jan 2026 17:44:56 +0000 (17:44 +0000)]
MDL-87634 core: exclude fixtures from Github actions "one-by-one" job.

This is consistent with the PHPUnit general configuration in 20aa9d05.

13 days agoMDL-76975 admin: Move AMD dependencies to data attribute to fix overflow
Yerai Rodríguez [Fri, 9 Jan 2026 15:34:38 +0000 (16:34 +0100)]
MDL-76975 admin: Move AMD dependencies to data attribute to fix overflow

Since there is a 1024 length limit on arguments passed through
js_call_amd(), we pass it through a HTML element dataset to avoid
this limit.

13 days agoMDL-87425 core_output: Remove the question/qengine.js
meirzamoodle [Tue, 13 Jan 2026 13:48:18 +0000 (20:48 +0700)]
MDL-87425 core_output: Remove the question/qengine.js

13 days agoMDL-87425 core_navigation: Remove the deprecated class file
meirzamoodle [Tue, 13 Jan 2026 13:48:18 +0000 (20:48 +0700)]
MDL-87425 core_navigation: Remove the deprecated class file

13 days agoMDL-87425 core: Remove the deprecated code
meirzamoodle [Tue, 13 Jan 2026 13:48:18 +0000 (20:48 +0700)]
MDL-87425 core: Remove the deprecated code

13 days agoMDL-87425 general: Remove the deprecated code
meirzamoodle [Tue, 13 Jan 2026 13:48:18 +0000 (20:48 +0700)]
MDL-87425 general: Remove the deprecated code

2 weeks agoMDL-87478 mod_quiz: Make pre-create attempts work with previews
Guest [Mon, 22 Dec 2025 09:04:55 +0000 (14:34 +0530)]
MDL-87478 mod_quiz: Make pre-create attempts work with previews

2 weeks agoMDL-87528 admin: Password visibility enabled by default
Yusuf Wibisono [Tue, 13 Jan 2026 09:56:27 +0000 (16:56 +0700)]
MDL-87528 admin: Password visibility enabled by default

2 weeks agoAutomatically generated installer lang files
AMOS bot [Tue, 13 Jan 2026 00:08:12 +0000 (00:08 +0000)]
Automatically generated installer lang files

2 weeks agoMDL-87625 core: Use the /r.php basepath to guess routes
Andrew Nicols [Mon, 12 Jan 2026 02:06:42 +0000 (10:06 +0800)]
MDL-87625 core: Use the /r.php basepath to guess routes

2 weeks agoMDL-87635 backup: ensure required test libraries are loaded.
Paul Holden [Mon, 12 Jan 2026 17:21:05 +0000 (17:21 +0000)]
MDL-87635 backup: ensure required test libraries are loaded.

2 weeks agoMerge branch 'mdl-85530_main' of https://github.com/james-cnz/moodle
Huong Nguyen [Mon, 12 Jan 2026 06:42:08 +0000 (13:42 +0700)]
Merge branch 'mdl-85530_main' of https://github.com/james-cnz/moodle

2 weeks agoMerge branch 'mdl-86959_main' of https://github.com/james-cnz/moodle
Huong Nguyen [Mon, 12 Jan 2026 06:40:42 +0000 (13:40 +0700)]
Merge branch 'mdl-86959_main' of https://github.com/james-cnz/moodle

2 weeks agoMDL-87088 behat: add missing @javascript tags to required tests
Simey Lameze [Mon, 12 Jan 2026 04:10:11 +0000 (12:10 +0800)]
MDL-87088 behat: add missing @javascript tags to required tests

2 weeks agoMerge branch 'MDL-87088-main' of https://github.com/andelacruz/moodle
Huong Nguyen [Mon, 12 Jan 2026 02:53:07 +0000 (09:53 +0700)]
Merge branch 'MDL-87088-main' of https://github.com/andelacruz/moodle

2 weeks agoMerge branch 'MDL-87423-main' of https://github.com/meirzamoodle/moodle
Andrew Nicols [Mon, 12 Jan 2026 02:50:12 +0000 (10:50 +0800)]
Merge branch 'MDL-87423-main' of https://github.com/meirzamoodle/moodle

2 weeks agoMerge branch 'MDL-86058-allow-enable-disable-tasks-from-cli-with-pending-upgrade...
Huong Nguyen [Mon, 12 Jan 2026 02:43:04 +0000 (09:43 +0700)]
Merge branch 'MDL-86058-allow-enable-disable-tasks-from-cli-with-pending-upgrade' of https://github.com/duyhuynhdev/moodle

2 weeks agoMDL-87070 mod_glossary: Behat to confirm glossary autolinking works
Angelia Dela Cruz [Mon, 1 Dec 2025 02:45:40 +0000 (10:45 +0800)]
MDL-87070 mod_glossary: Behat to confirm glossary autolinking works

2 weeks agoMDL-87636 core: bump postgres version to 16
Simey Lameze [Mon, 12 Jan 2026 00:32:22 +0000 (08:32 +0800)]
MDL-87636 core: bump postgres version to 16

2 weeks agoMDL-87263 reportbuilder: simplify entity element loading in reports.
Paul Holden [Fri, 12 Dec 2025 11:37:34 +0000 (11:37 +0000)]
MDL-87263 reportbuilder: simplify entity element loading in reports.

2 weeks agoMDL-87263 reportbuilder: observe entity order when adding multiple.
Paul Holden [Thu, 4 Dec 2025 16:46:44 +0000 (16:46 +0000)]
MDL-87263 reportbuilder: observe entity order when adding multiple.

Ensure the order in which entities are passed from the datasource is
observed when adding all/multiple. Continuation of work originally done
in 9a8091d5.

2 weeks agoMDL-87443 reportbuilder: use Toast selector in Behat scenarios.
Paul Holden [Thu, 11 Dec 2025 17:51:06 +0000 (17:51 +0000)]
MDL-87443 reportbuilder: use Toast selector in Behat scenarios.

2 weeks agoMDL-87443 behat: define new Toast message named selector.
Paul Holden [Thu, 11 Dec 2025 17:31:11 +0000 (17:31 +0000)]
MDL-87443 behat: define new Toast message named selector.

2 weeks agoMDL-87287 qbank_deletequestion: Update behat test for tag deletion
Mark Johnson [Fri, 9 Jan 2026 10:39:28 +0000 (10:39 +0000)]
MDL-87287 qbank_deletequestion: Update behat test for tag deletion

Now that deleting a tagged question correctly deletes it tag instances,
the tag is no longer available for re-selection after all the tagged
questions are deleted.

2 weeks agoMDL-87287 mod_qbank: De-duplicate tags when migrating questions
Mark Johnson [Fri, 28 Nov 2025 11:08:59 +0000 (11:08 +0000)]
MDL-87287 mod_qbank: De-duplicate tags when migrating questions

In the migration from old-style question banks to mod_qbank, if a
question had the same tag from multiple contexts, when it was moved to
its new question bank context, the migration tried to set multiple tag
instances for the same tag to the same context, which caused a unique
key violation.

This add some checking to the
`question_move_question_tags_to_new_context` function to identify any
tag instances to be moved that will trigger this key violation, and
delte any duplicates before the move so we end up with a single instance
of the tag in the new context. This is done in a transaction that will
only be committed once the remaining tags have been moved.

This required adding the `tiuserid` field to the data returned by
`core_tag_tag::get_items_tag` so we can assemble the unique key without
having to do additional queries.

This also extends the test coverage for the `transfer_questions` task
to ensure tags are moved to the new contexts, and tags on stale questions
are deleted.

2 weeks agoMDL-87287 qbank_tagquestion: Remove all tags from deleted questions
Mark Johnson [Fri, 28 Nov 2025 11:01:21 +0000 (11:01 +0000)]
MDL-87287 qbank_tagquestion: Remove all tags from deleted questions

When we deleted a question, we were including the userid of the user who
performed the delete when checking for question tags. This means that if
user A tagged the question, and user B deleted the question, it might
leave the tags behind.

This fixes the issue by deleting tags regardless of the user, and adds
an upgrade step to find and remove orphaned tag instances.

2 weeks agoMDL-87527 admin: New installs enable email login by default
Yusuf Wibisono [Thu, 8 Jan 2026 09:48:39 +0000 (16:48 +0700)]
MDL-87527 admin: New installs enable email login by default

2 weeks agoMDL-87229 course: Show nice "Other users" table in courses.
Luca Bösch [Tue, 18 Nov 2025 10:46:23 +0000 (11:46 +0100)]
MDL-87229 course: Show nice "Other users" table in courses.

2 weeks agoMDL-50364 forms: calendar header renderer uses translated months
Jayce Birrell [Thu, 20 Nov 2025 00:22:55 +0000 (10:52 +1030)]
MDL-50364 forms: calendar header renderer uses translated months

2 weeks agoMDL-87088 core_grades: Behat to view grades from user menu
Angelia Dela Cruz [Thu, 4 Dec 2025 04:41:36 +0000 (12:41 +0800)]
MDL-87088 core_grades: Behat to view grades from user menu

2 weeks agoweekly release 5.2dev
Huong Nguyen [Fri, 9 Jan 2026 01:40:59 +0000 (08:40 +0700)]
weekly release 5.2dev

2 weeks agoNOBUG: Add upgrade notes
Huong Nguyen [Fri, 9 Jan 2026 01:40:58 +0000 (08:40 +0700)]
NOBUG: Add upgrade notes

2 weeks agoMerge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install
Huong Nguyen [Fri, 9 Jan 2026 01:40:32 +0000 (08:40 +0700)]
Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install

2 weeks agoMDL-86423 mod_assign: Reduce duesoon/overdue notifications.
Marty [Wed, 10 Sep 2025 19:19:56 +0000 (15:19 -0400)]
MDL-86423 mod_assign: Reduce duesoon/overdue notifications.

Students shouldn't receive overdue notifications if there is nothing to
submit in Moodle.

Students shouldn't receive due soon notifications if they a) already
have a grade or b) meet activity completion status.

2 weeks agoMDL-87120 course: observe activity dates display in course requests.
Paul Holden [Tue, 11 Nov 2025 11:29:03 +0000 (11:29 +0000)]
MDL-87120 course: observe activity dates display in course requests.

Upgrade step to ensure the default value for this field in the schema
matches the default value used in the interface itself.

2 weeks agoMDL-87608 javascript: fix public paths in generated jsconfig file.
Paul Holden [Wed, 7 Jan 2026 14:27:44 +0000 (14:27 +0000)]
MDL-87608 javascript: fix public paths in generated jsconfig file.

This partly reverts changes from 31335206, removing the double public/
directory component of the file paths.

2 weeks agoMDL-87444 reportbuilder: Fix button icons UI
Mikel Martín [Fri, 12 Dec 2025 14:42:02 +0000 (15:42 +0100)]
MDL-87444 reportbuilder: Fix button icons UI

2 weeks agoMDL-87444 core: Add 'extraclasses' param to drag_handle
Mikel Martín [Mon, 15 Dec 2025 16:17:34 +0000 (17:17 +0100)]
MDL-87444 core: Add 'extraclasses' param to drag_handle

Add new 'extraclasses' parameter to drag_handle template. That will help
to customise the button sizing and extra styles.

2 weeks agoMDL-87444 theme_boost: Adjust icon sizes
Mikel Martín [Fri, 12 Dec 2025 14:15:08 +0000 (15:15 +0100)]
MDL-87444 theme_boost: Adjust icon sizes

The iconsizes map value `1` was extremely small and unusable, so values `1` and `2` have been
updated to provide usable icon sizes in the UI.

2 weeks agoMerge branch 'MDL-87406-main' of https://github.com/ericmerrill/moodle
Safat [Wed, 7 Jan 2026 05:27:09 +0000 (16:27 +1100)]
Merge branch 'MDL-87406-main' of https://github.com/ericmerrill/moodle

2 weeks agoMerge branch 'MDL-67733-main' of https://github.com/HuongNV13/moodle
Safat [Wed, 7 Jan 2026 05:15:39 +0000 (16:15 +1100)]
Merge branch 'MDL-67733-main' of https://github.com/HuongNV13/moodle

2 weeks agoMerge branch 'MDL-82284-main' of https://github.com/meirzamoodle/moodle
Andrew Nicols [Wed, 7 Jan 2026 05:07:41 +0000 (13:07 +0800)]
Merge branch 'MDL-82284-main' of https://github.com/meirzamoodle/moodle

2 weeks agoMerge branch 'MDL-86436-navigation-accessibility-page-heading-menu-visible-on-larger...
Jun Pataleta [Wed, 7 Jan 2026 03:18:18 +0000 (11:18 +0800)]
Merge branch 'MDL-86436-navigation-accessibility-page-heading-menu-visible-on-larger-screens-even-if-empty' of https://github.com/stopfstedt/moodle

2 weeks agoMerge branch 'MDL-87416-glossary-entry-page-title-missing' of https://github.com...
Jun Pataleta [Wed, 7 Jan 2026 03:14:05 +0000 (11:14 +0800)]
Merge branch 'MDL-87416-glossary-entry-page-title-missing' of https://github.com/stopfstedt/moodle

3 weeks agoMDL-86342 mod_assign: Allow subplugins to backup data at activity-level
Martin Gauk [Mon, 18 Aug 2025 16:00:38 +0000 (18:00 +0200)]
MDL-86342 mod_assign: Allow subplugins to backup data at activity-level

3 weeks agoMDL-86346 core: update the use of ArrayLoader namespace
Muhammad Arnaldo [Mon, 5 Jan 2026 03:43:10 +0000 (10:43 +0700)]
MDL-86346 core: update the use of ArrayLoader namespace

The Mustache library just got updated to version 3 recently.
The changes include update to psr-4. Hence, we update
the call to the class ArrayLoader.

3 weeks agoMerge branch 'MDL-87526-main' of https://github.com/andrewnicols/moodle
Adrian Greeve [Tue, 6 Jan 2026 01:04:49 +0000 (09:04 +0800)]
Merge branch 'MDL-87526-main' of https://github.com/andrewnicols/moodle

3 weeks agoMDL-87416 glossary: set page title on glossary entry details page.
Stefan Topfstedt [Sat, 6 Dec 2025 00:22:06 +0000 (16:22 -0800)]
MDL-87416 glossary: set page title on glossary entry details page.

3 weeks agoMDL-85431 questions: Fix access checks on Question banks page
Mark Johnson [Mon, 5 Jan 2026 11:28:50 +0000 (11:28 +0000)]
MDL-85431 questions: Fix access checks on Question banks page

Users who could not manage activities on a course, but did have
permission to access particular question banks, could not access the
Question banks page.

This modifies the permission checks on that page to allow access if the
user can either manage activities, or has access to at least one
activity that publishes questions. Some additional changes to the output
were required to prevent non-editing users adding banks.

It also modifies the navigation hook to add the Question banks
navigation node if the user can access any activitiy that publishes
questions on the course. This is all based on cached modinfo and
permissions data so should remain performant.

3 weeks agoMerge branch 'MDL-87529' of https://github.com/yerairogo/moodle
Paul Holden [Mon, 5 Jan 2026 14:24:30 +0000 (14:24 +0000)]
Merge branch 'MDL-87529' of https://github.com/yerairogo/moodle

3 weeks agoMDL-87251 tool_uploadcourse: update scenarios for self-enrol title.
Paul Holden [Mon, 5 Jan 2026 10:09:25 +0000 (10:09 +0000)]
MDL-87251 tool_uploadcourse: update scenarios for self-enrol title.

3 weeks agoMerge branch 'MDL-87251-main' of https://github.com/roland04/moodle
Paul Holden [Mon, 5 Jan 2026 09:59:59 +0000 (09:59 +0000)]
Merge branch 'MDL-87251-main' of https://github.com/roland04/moodle

3 weeks agoMerge branch 'MDL-87288-main' of https://github.com/ilyatregubov/moodle
Paul Holden [Mon, 5 Jan 2026 09:46:51 +0000 (09:46 +0000)]
Merge branch 'MDL-87288-main' of https://github.com/ilyatregubov/moodle

3 weeks agoAutomatically generated installer lang files
AMOS bot [Sat, 3 Jan 2026 00:08:09 +0000 (00:08 +0000)]
Automatically generated installer lang files

3 weeks agoMDL-73602 questions: Remove qtype_random
Mark Johnson [Tue, 18 Nov 2025 14:10:22 +0000 (14:10 +0000)]
MDL-73602 questions: Remove qtype_random

3 weeks agoMDL-73602 quiz: Remove all qtype_random references
Mark Johnson [Wed, 19 Nov 2025 16:34:17 +0000 (16:34 +0000)]
MDL-73602 quiz: Remove all qtype_random references

This removes the use of the "random" qtype for random questions from the
quiz module. Instead, the quiz structure now idenfies slots containing
random questions using a `random` boolean field on the slot.

This includes some amendments to statistics classes in the core_question
namespace, as they ultimately get their question data from
mod/quiz/report/reportlib.php

It also introduces a proper (if limited) way to add random questions in
behat tests.

3 weeks agoMDL-73602 quiz: Restore random tag filters to new format
Mark Johnson [Tue, 18 Nov 2025 16:32:39 +0000 (16:32 +0000)]
MDL-73602 quiz: Restore random tag filters to new format

As we are now creating set references using the modern filtercondition
format, this ensures legacy tag filters are also converted directly to
the new format.

We no longer need the tag name as part of this, only the ID, so we have
factored the name out of `process_quiz_slot_tags`.

3 weeks agoMDL-82284 core: Remove all PHP5 constructors
Andrew Nicols [Tue, 25 Jun 2024 01:55:46 +0000 (09:55 +0800)]
MDL-82284 core: Remove all PHP5 constructors

3 weeks agoMDL-87423 core: Remove the deprecated functions
meirzamoodle [Thu, 25 Dec 2025 04:09:57 +0000 (11:09 +0700)]
MDL-87423 core: Remove the deprecated functions

4 weeks agoMDL-85530 course: Improve PHPDoc types for course format code
James C [Tue, 30 Dec 2025 04:38:46 +0000 (17:38 +1300)]
MDL-85530 course: Improve PHPDoc types for course format code

4 weeks agoMDL-86959 course: Improve PHPDoc types for course code
James C [Tue, 30 Dec 2025 04:37:37 +0000 (17:37 +1300)]
MDL-86959 course: Improve PHPDoc types for course code

4 weeks agoMerge branch 'MDL-87280-main' of https://github.com/sarjona/moodle
Sara Arjona [Mon, 29 Dec 2025 13:51:30 +0000 (14:51 +0100)]
Merge branch 'MDL-87280-main' of https://github.com/sarjona/moodle

4 weeks agoMerge branch 'MDL-81882-main' of https://github.com/yusufwib01/moodle
Huong Nguyen [Mon, 29 Dec 2025 06:51:34 +0000 (13:51 +0700)]
Merge branch 'MDL-81882-main' of https://github.com/yusufwib01/moodle

4 weeks agoMerge branch 'MDL-86346-main' of https://github.com/muhammadarnaldo/moodle
Huong Nguyen [Mon, 29 Dec 2025 06:45:41 +0000 (13:45 +0700)]
Merge branch 'MDL-86346-main' of https://github.com/muhammadarnaldo/moodle

4 weeks agoMDL-84862 AI: Stop provider instance creataion when no provider plugins
Matt Porritt [Fri, 14 Mar 2025 04:13:51 +0000 (15:13 +1100)]
MDL-84862 AI: Stop provider instance creataion when no provider plugins

Prevents calls to action to create an AI provider instance from
being displayed to users when there are no AI provider plugins
installed in the instance.

Co-Authored-By: Yusuf Wibisono <yusuf.wibisono@moodle.com>
4 weeks agoMDL-86346 lib: Update mustache helper after upgrade
Muhammad Arnaldo [Mon, 1 Dec 2025 04:54:57 +0000 (11:54 +0700)]
MDL-86346 lib: Update mustache helper after upgrade

- Update component file, moved mustache from psr-0 to psr-4 section
- Update mustache helpers
- Update mustache related tests

4 weeks agoMerge branch 'MDL-87433-main' of https://github.com/muhammadarnaldo/moodle
Huong Nguyen [Mon, 29 Dec 2025 02:54:25 +0000 (09:54 +0700)]
Merge branch 'MDL-87433-main' of https://github.com/muhammadarnaldo/moodle

4 weeks agoAutomatically generated installer lang files
AMOS bot [Sat, 27 Dec 2025 00:08:11 +0000 (00:08 +0000)]
Automatically generated installer lang files

4 weeks agoAutomatically generated installer lang files
AMOS bot [Fri, 26 Dec 2025 00:08:07 +0000 (00:08 +0000)]
Automatically generated installer lang files

4 weeks agoMDL-87433 course: Add sorting to get_nearest_editable_subcategory
Muhammad Arnaldo [Wed, 24 Dec 2025 08:47:54 +0000 (15:47 +0700)]
MDL-87433 course: Add sorting to get_nearest_editable_subcategory

Add ORDER BY to the query to ensure categories are returned in
consistent order. This fixes random test failures, especially
on PostgreSQL.

4 weeks agoMDL-73602 questions: Prevent restore of qtype_random questions
Mark Johnson [Tue, 18 Nov 2025 16:30:25 +0000 (16:30 +0000)]
MDL-73602 questions: Prevent restore of qtype_random questions

This completely removes the step of creating a question with qtype
'random' during the restore process.

Previously, we would create the question bank entry, question version
and question record, then rely on the activity using it to convert it to
a question set reference and delete it. If the activity was never
restored, the question remained in the database.

Now, we store the random question data in a temporary record. The
activity still converts this to a set reference, and now directly to the
new filter condition format. The temporary record will automatically be
cleaned up after the restore.

If the restore process attempts to create a question record with qtype
'random', this will now throw a coding exception as this must never
happen.

4 weeks agoMDL-87529 core_customfield: reset CF handler cache after form save
Yerai Rodríguez [Tue, 23 Dec 2025 12:26:46 +0000 (13:26 +0100)]
MDL-87529 core_customfield: reset CF handler cache after form save

4 weeks agoMDL-86869 gradereport_singleview: Raises memory limit
Alex Keel [Tue, 23 Dec 2025 12:28:35 +0000 (12:28 +0000)]
MDL-86869 gradereport_singleview: Raises memory limit

5 weeks agoMerge branch 'MDL-87279-main' of https://github.com/sarjona/moodle
Amaia Anabitarte [Tue, 23 Dec 2025 10:37:53 +0000 (11:37 +0100)]
Merge branch 'MDL-87279-main' of https://github.com/sarjona/moodle

5 weeks agoMerge branch 'MDL-84987_main' of https://github.com/marxjohnson/moodle
Mihail Geshoski [Tue, 23 Dec 2025 08:58:28 +0000 (16:58 +0800)]
Merge branch 'MDL-84987_main' of https://github.com/marxjohnson/moodle

5 weeks agoMerge branch 'MDL-85649_main' of https://github.com/marxjohnson/moodle
Mihail Geshoski [Tue, 23 Dec 2025 08:51:33 +0000 (16:51 +0800)]
Merge branch 'MDL-85649_main' of https://github.com/marxjohnson/moodle

5 weeks agoMerge branch 'MDL-86995-main' of https://github.com/sh-csg/moodle
Mihail Geshoski [Tue, 23 Dec 2025 08:46:57 +0000 (16:46 +0800)]
Merge branch 'MDL-86995-main' of https://github.com/sh-csg/moodle

5 weeks agoMerge branch 'MDL-86798_main' of https://github.com/marxjohnson/moodle
Mihail Geshoski [Tue, 23 Dec 2025 08:09:28 +0000 (16:09 +0800)]
Merge branch 'MDL-86798_main' of https://github.com/marxjohnson/moodle

5 weeks agoMDL-87280 subsection: Add task to remove existing descriptions
Sara Arjona [Fri, 12 Dec 2025 11:46:28 +0000 (12:46 +0100)]
MDL-87280 subsection: Add task to remove existing descriptions

5 weeks agoMDL-87279 course: Remove edit description for delegated sections
Sara Arjona [Mon, 1 Dec 2025 09:41:20 +0000 (10:41 +0100)]
MDL-87279 course: Remove edit description for delegated sections

5 weeks agoMerge branch 'MDL-83115-main' of https://github.com/aanabit/moodle
Sara Arjona [Tue, 23 Dec 2025 05:48:42 +0000 (06:48 +0100)]
Merge branch 'MDL-83115-main' of https://github.com/aanabit/moodle

5 weeks agoMDL-87526 core: Moodle provides moodle/lms
Andrew Nicols [Tue, 23 Dec 2025 03:45:09 +0000 (11:45 +0800)]
MDL-87526 core: Moodle provides moodle/lms

5 weeks agoMDL-85649 questions: Show question count in the question banks page
Mark Johnson [Fri, 11 Jul 2025 08:00:13 +0000 (09:00 +0100)]
MDL-85649 questions: Show question count in the question banks page

This displays a badge next to each question bank with a count of the
question it contains. The counts are loaded asynchrnously to avoid
adding extra queries to the page load.

5 weeks agoMDL-83115 course_format: Improve format does not support sections error
Amaia Anabitarte [Wed, 19 Nov 2025 15:49:16 +0000 (16:49 +0100)]
MDL-83115 course_format: Improve format does not support sections error

5 weeks agoMDL-86854 core_course: refactor moveto_module other usages
Laurent David [Wed, 15 Oct 2025 10:47:28 +0000 (12:47 +0200)]
MDL-86854 core_course: refactor moveto_module other usages

5 weeks agoMDL-86854 core_courseformat: cm_move to use cmactions methods
Laurent David [Tue, 14 Oct 2025 08:46:26 +0000 (10:46 +0200)]
MDL-86854 core_courseformat: cm_move to use cmactions methods

5 weeks agoMDL-86854 core_courseformat: Add move_before logic by cmactions
Laurent David [Tue, 14 Oct 2025 06:36:33 +0000 (08:36 +0200)]
MDL-86854 core_courseformat: Add move_before logic by cmactions

5 weeks agoMDL-86995 mod_forum: Allow ignoring maxeditingtime for qanda forum
Stefan Hanauska [Wed, 5 Nov 2025 13:08:15 +0000 (14:08 +0100)]
MDL-86995 mod_forum: Allow ignoring maxeditingtime for qanda forum

5 weeks agoMDL-86798 questions: Check original context is on the same site
Mark Johnson [Thu, 11 Dec 2025 11:19:09 +0000 (11:19 +0000)]
MDL-86798 questions: Check original context is on the same site

When checking if the original context exists during a restore, we need
to check that we're looking at the context on the same site, not one on
a different site that happens to have the same ID.

5 weeks agoMDL-86798 questions: Track next version for question bank entries
Mark Johnson [Fri, 14 Nov 2025 11:08:17 +0000 (11:08 +0000)]
MDL-86798 questions: Track next version for question bank entries

This adds a new "nextversion" field to `question_bank_entries` to track
which version number the next version of the question should have. This
ensures that version numbers are not re-used if the latest version is
deleted.

To use this field, you must call
`\core_question\versions::get_next_version()`. This will initialise the
field to the correct value if it is currently null.

If you create a new version using this value, you must then call
`\core_question\versions::increment_next_version()` to increment the
counter.

5 weeks agoMDL-86798 questions: Restore backups containing deleted versions
Mark Johnson [Thu, 13 Nov 2025 09:12:49 +0000 (09:12 +0000)]
MDL-86798 questions: Restore backups containing deleted versions

If the latest version of a question is deleted, and then a new one
created, the new one will currently re-use the version number of the
deleted version. If the original version was backed up before it was
deleted, then restored later, we end up with two questions in one
question bank entry that have the same version.

To resolve this, when restoring a question, we check if there is already
a version with the same version number, then bump it and any higher
versions up by 1. We also check for any references specifically using
these versions and bump those up by 1. Any references using "always
latest" will be fine, as the latest version will still be the latest.

Additionally, if deleting a version made it hidden, and the backup
contains the same version in "ready" state, restoring the backup will
restore it to "ready" state.