mirror of
https://github.com/moodle/moodle.git
synced 2025-03-19 23:20:09 +01:00
MDL-82589 task: link to task logs report from failure notification.
This commit is contained in:
parent
2b337b49f9
commit
22667ab397
@ -115,6 +115,7 @@ modulenotexist,core_debug
|
||||
coursecalendar,core_calendar
|
||||
importcalendarexternal,core_calendar
|
||||
nocalendarsubscriptions,core_calendar
|
||||
failedtaskcontexturlname,core
|
||||
datechanged,core
|
||||
daystakingcourse,core_course
|
||||
siteregistrationcontact,core_hub
|
||||
|
@ -892,7 +892,6 @@ $string['failedtaskbody'] = '<p>Hi {$a->firstname},</p>
|
||||
<p>The task <b>{$a->taskname}</b> has failed multiple times and requires attention.</p>
|
||||
<p><a href="{$a->link}">See task</a></p>';
|
||||
$string['failedtasksubject'] = 'Task failed: {$a}';
|
||||
$string['failedtaskcontexturlname'] = 'Status report';
|
||||
$string['feedback'] = 'Feedback';
|
||||
$string['file'] = 'File';
|
||||
$string['fileexists'] = 'There is already a file called {$a}';
|
||||
@ -2524,3 +2523,6 @@ Following is the content of your email:';
|
||||
$string['noreplybouncesubject'] = '{$a} - bounced email.';
|
||||
$string['registrationcontactno'] = 'No, I do not want to be contacted by other people';
|
||||
$string['registrationcontactyes'] = 'Yes, provide a form for other Moodlers to contact me';
|
||||
|
||||
// Deprecated since Moodle 5.0.
|
||||
$string['failedtaskcontexturlname'] = 'Status report';
|
||||
|
@ -17,6 +17,7 @@
|
||||
namespace core\task;
|
||||
|
||||
use core\hook\task\after_failed_task_max_delay;
|
||||
use core\url;
|
||||
use core_user;
|
||||
use stdClass;
|
||||
|
||||
@ -39,14 +40,13 @@ class failed_task_callbacks {
|
||||
$task = $hook->get_task();
|
||||
|
||||
$admins = get_admins();
|
||||
if (empty($admins)) {
|
||||
return;
|
||||
}
|
||||
foreach ($admins as $admin) {
|
||||
$tasklogslink = new url('/admin/tasklogs.php', ['filter' => get_class($task)]);
|
||||
|
||||
$a = new stdClass();
|
||||
$a->firstname = $admin->firstname;
|
||||
$a->taskname = $task->get_name();
|
||||
$a->link = new \moodle_url('/report/status/index.php', ['detail' => 'tool_task_maxfaildelay']);
|
||||
$a->link = $tasklogslink->out(false);
|
||||
$messagetxt = get_string('failedtaskbody', 'moodle', $a);
|
||||
// Create message.
|
||||
$message = new \core\message\message();
|
||||
@ -60,9 +60,8 @@ class failed_task_callbacks {
|
||||
$message->fullmessagehtml = text_to_html($messagetxt);
|
||||
$message->smallmessage = get_string('failedtasksubject', 'moodle', $task->get_name());
|
||||
$message->notification = 1;
|
||||
$message->contexturl = (
|
||||
new \moodle_url('/report/status/index.php', ['detail' => 'tool_task_maxfaildelay']))->out(false);
|
||||
$message->contexturlname = get_string('failedtaskcontexturlname', 'moodle');
|
||||
$message->contexturl = $tasklogslink->out(false);
|
||||
$message->contexturlname = get_string('tasklogs', 'admin');
|
||||
// Actually send the message.
|
||||
message_send($message);
|
||||
}
|
||||
|
@ -16,6 +16,8 @@
|
||||
|
||||
namespace core\task;
|
||||
|
||||
use core\url;
|
||||
|
||||
/**
|
||||
* Test class for adhoc tasks.
|
||||
*
|
||||
@ -985,6 +987,11 @@ final class adhoc_task_test extends \advanced_testcase {
|
||||
$this->assertEquals('failedtaskmaxdelay', $messages[0]->eventtype);
|
||||
$this->assertEquals('-10', $messages[0]->useridfrom);
|
||||
$this->assertEquals('2', $messages[0]->useridto);
|
||||
$this->assertEquals('Task logs', $messages[0]->contexturlname);
|
||||
$this->assertEquals(
|
||||
(new url('/admin/tasklogs.php', ['filter' => get_class($task)]))->out(false),
|
||||
$messages[0]->contexturl,
|
||||
);
|
||||
|
||||
// Close sink.
|
||||
$messagesink->close();
|
||||
|
Loading…
x
Reference in New Issue
Block a user