Commit Graph

180 Commits

Author SHA1 Message Date
Jun Pataleta
0dcfa504a0 Merge branch 'MDL-68773-clear-adhoc-tasks' of https://github.com/Peterburnett/moodle 2022-01-05 18:47:01 +08:00
Peter Burnett
28d6333f47 MDL-68773 backup: Allow completed async backup + restore tasks to clear 2022-01-04 10:57:58 +10:00
Brendan Heywood
a113af2446 MDL-73207 cron: Fixed cronspec field order bug 2021-12-06 17:52:40 +11:00
Juan Leyva
39d96944eb MDL-66776 notifications: New login session notification 2021-11-04 11:18:00 +01:00
Huong Nguyen
bca6b06a1c MDL-71953 calendar: Accessibility improvement for manage subscription
- Create new web services for manage subscription (Update calendar subscription)
 - Modified delete subscription feature to use Web service.
 - Midified update subscription feature to use in-place editbale
 - Delete subscription feature now have a confirmation box before processing.
 - Fixed some accessibility issues
 - Used 'Delete' instead of 'Remove' for deleting subscriptions
2021-10-21 11:02:34 +07:00
Paul Holden
58c6afb94d MDL-72138 task: allow running core tasks from schedules UI.
Fixes regression from 9c4510a3 that didn't consider tasks belonging
to core, rather than just those belonging to plugins.
2021-08-12 09:49:10 +01:00
Andrew Nicols
4c9f590f18 Merge branch 'MDL-70427' of git://github.com/paulholden/moodle 2021-07-22 11:22:13 +08:00
Ilya Tregubov
4819625349 MDL-32103 completion: Allow instant completion updates.
For activity based course completion criteria allow instant
course completion updates if the activity completion state was changed
for a single user.
2021-07-13 12:07:53 +02:00
Paul Holden
42281e48f5 MDL-70427 task: correct missing component when queuing adhoc task.
If the task belongs to a component, and doesn't have it's own
component property set then we can lazy-load it based on class
namespace.
2021-07-12 20:47:04 +01:00
Jordi Pujol Ahulló
9c4510a358 MDL-70230 admin: add setting sched. task status
When defining settings that are used by scheduled tasks,
it is also useful, or even needed, to know the status
of that scheduled task to have the whole big picture of
that part of the system.

Based on the admin_setting_description, this new setting
reports its name, its status, a link to the configuration.

When adding a new setting of this type, the user can add
an extra description field to complete the whole meaning.
2021-06-04 08:12:16 +02:00
Sara Arjona
841df2a216 Merge branch 'MDL-71136_master' of https://github.com/TomoTsuyuki/moodle 2021-04-22 13:56:37 +02:00
Simey Lameze
5b0282847e MDL-71156 core: machinery to recover orphaned calendar events
The machinery to fix orphaned calendar events that were broken by MDL-67494.

The solution consists of:

1) Upgrade step that checks if this site has executed the problematic upgrade steps and
   if positive, it will schedule a new run for calendar_fix_orphaned_events adhoc task.

2) Adhoc task that will self-spawn calling the recovery machinery, running until
   all the orphaned calendar events are fixed. It also sets the maximum runtime of
   60 seconds. It is also possible to override that number by specifing the desired
   number setting the ->calendareventsmaxseconds in your config.php

3) CLI script that will look for all the calendar events which userids
   where broken by a wrong upgrade step, affecting to Moodle 3.9.5
   and up.

   It performs checks to both:
     a) Detect if the site was affected (ran the wrong upgrade step).
     b) Look for orphaned calendar events, categorising them as:
       - standard: site / category / course / group / user events
       - subscription: events created via subscriptions.
       - action: normal action events, created to show common important dates.
       - override: user and group override events, particular, that some activities support.
       - custom: other events, not being any of the above, common or particular.

   By specifying it (--fix) try to recover as many broken events (missing userid) as
   possible. Standard, subscription, action, override events in core are fully supported but
   override or custom events should be fixed by each plugin as far as there isn't any standard
   API (plugin-wise) to launch a rebuild of the calendar events.

4) Unit tests and helper functions to generate calendar events. We have decided to
   keep the tests simple, testing only true and false and not using data generators because
   the code is purely to recover the calendar events and won't turn into an API or something
   and also due to the urgency of this issue.
   The helpers have been created in calendar/tests/helpers.php since there are no data generators
   for calendar.
2021-04-22 10:28:52 +08:00
Tomo Tsuyuki
b6f6203e65 MDL-71136 backup: Fix moodle_exception path. 2021-03-30 10:54:08 +11:00
sam marshall
5e72715e4f MDL-71099 Lib: Move new user_fields class from core to core_user
This class would belong more appropriately within the 'user' API
(core_user) instead of within the 'core' API, since it is
directly related to user data.

Since the class has only just been added to Moodle, now is a good
time to move it.
2021-03-25 13:47:23 +00:00
Eloy Lafuente (stronk7)
e3a46964dc Merge branch 'MDL-70901-master' of git://github.com/marinaglancy/moodle 2021-03-18 00:40:46 +01:00
Eloy Lafuente (stronk7)
44c302a607 Merge branch 'master-MDL-71044_v3' of https://github.com/golenkovm/moodle 2021-03-16 22:38:48 +01:00
sam marshall
558cc1b85e MDL-45242 Lib: Replace calls to deprecated functions
In all cases changes have been kept to a minimum while not making
the code completely horrible. For example, there are many instances
where it would probably be better to rewrite a query entirely, but
I have not done that (in order to reduce the risk of changes).
2021-03-10 10:57:10 +00:00
Mikhail Golenkov
e9eb3ad6c5 MDL-71044 backup: backup_cleanup_task task to remove old files 2021-03-07 21:46:47 +11:00
Marina Glancy
b88f1a84bf MDL-70901 core: @ no longer masks errors in PHP 8.0 2021-02-22 16:18:46 +01:00
Ilya Tregubov
dde8a5b62c MDL-66769 core_h5p: Clean up orphaned h5p records task. 2021-02-03 10:10:30 +02:00
Sara Arjona
d9df954a25 Merge branch 'MDL-68768-adhoc-task-faildelay-check' of https://github.com/brendanheywood/moodle 2021-01-12 10:06:53 +01:00
Eloy Lafuente (stronk7)
fd1d9fec1e Merge branch 'master_MDL-70520' of https://github.com/golenkovm/moodle 2021-01-07 00:17:08 +01:00
Mikhail Golenkov
eb694bdd5a MDL-70520 tasks: Keep lastruntime when a scheduled task is reset 2020-12-22 10:37:43 +11:00
Brendan Heywood
71f180447a MDL-68768 tool_tasks: Check for failing adhoc tasks 2020-12-15 12:49:00 +11:00
Jamie Stamp
2fee98919d MDL-70341 tasks: Allow disabled tasks to be overridden 2020-12-07 16:53:19 +00:00
Jamie Stamp
3a232840a5 MDL-65843 tasks: Allow schedules to be overridden in config 2020-11-18 12:44:05 +00:00
Sara Arjona
7c99f40d61 Merge branch 'MDL-69521' of https://github.com/stronk7/moodle into master 2020-09-09 08:08:06 +02:00
Eloy Lafuente (stronk7)
432b9a9075 MDL-69521 core: Move all comments in code from 4.3 to 4.1 2020-09-08 18:59:46 +02:00
Paul Holden
404eabc7b5 MDL-69448 backup: fix capability checks when unable to copy user data.
When a given user doesn't have the capability to "Include user data"
during course copying, freeze the form element rather than not adding
it at all.

This caused problems as the element was required before preceding with
the course copy.
2020-09-04 08:19:53 +01:00
Andrew Nicols
2ccf106454 Merge branch 'master-MDL-69358' of https://github.com/golenkovm/moodle 2020-08-27 10:57:19 +08:00
Andrew Nicols
e471d82358 Merge branch 'MDL-66222-antivirus-reporting' of https://github.com/Peterburnett/moodle 2020-08-27 09:34:37 +08:00
Mikhail Golenkov
d7342dc239 MDL-67211 Tasks: Add cron_enabled setting.
Co-authored-by: Sam Marshall <s.marshall@open.ac.uk>
2020-08-25 17:08:57 +10:00
Mikhail Golenkov
b465a541ae MDL-67211 Tasks: Record when a task is running.
Co-authored-by: Sam Marshall <s.marshall@open.ac.uk>
2020-08-25 17:08:03 +10:00
Peter Burnett
8e0e99e4fd MDL-66222 antivirus: Improved error email capture 2020-08-21 12:21:09 +10:00
Nathan Nguyen
adbe92ce0a MDL-66222 antivirus: Added antivirus failure reporting 2020-08-21 11:43:56 +10:00
Mikhail Golenkov
1931f95d99 MDL-69358 backup: Do not clean up records for incomplete adhoc tasks.
Co-authored-by: Heena Agheda <heenaagheda@catalyst-au.net>
2020-08-12 12:05:15 +10:00
Peter Burnett
e63b6b8665 MDL-69170 task: Added timecreated field to adhoc task table 2020-08-05 09:41:25 +10:00
Adrian Greeve
5ec37d28a6 Merge branch 'master_MDL-64843_course_copy_ui' of https://github.com/catalyst/moodle 2020-05-18 10:35:44 +08:00
Matt Porritt
01436f7539 MDL-64843 Backup: Course copy user interface
This patch adds better core support for copying courses.
There is now a simplified and dedicated UI for copying
courses. This can be accessed from the course context
menu or course management screens.

All backups are done asynchronously and there can be multiple
copies of a course in flight at once.
2020-05-15 06:02:02 +00:00
Eloy Lafuente (stronk7)
d2ecc75e2f MDL-52846 tasks: complete docs and move functions to deprecatedlib
- Add MDL codes to @deprecated.
- Add @todo tag for future 4.3 phase 2 deprecation.
- Deprecate global scope functions:
  - cron_execute_plugin_type().
  - cron_bc_hack_plugin_functions().
  (moving them to deprecatelib).
- Document it in main upgrade.txt
2020-05-12 17:41:13 +02:00
Ankit Agarwal
3bdb8f4584 MDL-52846 tasks: Display developer notice for legacy cron 2020-05-12 17:38:08 +02:00
Eloy Lafuente (stronk7)
a417c31b2e Merge branch 'MDL-68579-master' of git://github.com/cescobedo/moodle 2020-05-11 23:13:45 +02:00
cescobedo
db15746c2d MDL-63580 core_task: Deprecation cron_run_single_task and run_from_cli
Also we have move the functions in \tool_task\run_from_cli to \core\task\manager
and we have deprecated that class.
2020-05-11 10:53:23 +02:00
cescobedo
b19468ce8a MDL-68579 core_h5p: Add a check to avoid execute task using BEHAT 2020-05-11 10:13:08 +02:00
David Saylor
525a9da269 MDL-52904 completion: reference context in cron query
Co-authored-by: Barbara Lawrence <blawrence@harlow-college.ac.uk>
2020-05-04 09:57:37 +08:00
Andrew Nicols
eb0ddccd49 Merge branch 'MDL-68433-adhoc-task-lookahead' of https://github.com/brendanheywood/moodle 2020-04-29 08:22:27 +08:00
Paul Holden
db8bda61a3 MDL-64417 message: allow processors to run their own cleanup tasks. 2020-04-21 14:48:22 +01:00
Brendan Heywood
611d6c1e29 MDL-68433 tasks: Limit the adhoc task queue look ahead 2020-04-16 23:33:07 +10:00
Tim Hunt
6fdc0f8796 MDL-68256 task admin: usability improvements
In the table that lists the scheduled tasks:

1. There are badges to show which components are disabled.
2. The plugin name (e.g. auth_ldap) is shown as well as the
   human-readable name (e.g. LDAP server).
3. Where a time column has a non-default value, it is highlighted
   and the default is shown.
4. If the fail-delay is non-zero, the cell is highlighted.
4. If you just interacted with a task (looked at or edited the settings,
   did Run now, or cleared the fail delay) that row is highlighted,
   and scrolled into view when the page loads.

To support this, some of the methods for loading the default tasks
have been extended with an optional argument to leave 'R' as 'R'
rather than replacing with a random number.

Also, mixed into this commit are a bunch of coding style improvements.
Sorry I did not separate them out, but ultimately this makes the
Moodle code better.
2020-03-28 18:40:51 +00:00
Mikhail Golenkov
e63040d02b MDL-67980 tasks: Sort ad-hoc tasks by nextruntime. 2020-02-24 09:30:09 +11:00