Merge branch 'MDL-61824-master' of https://github.com/sammarshallou/moodle

This commit is contained in:
Eloy Lafuente (stronk7) 2018-04-11 01:02:45 +02:00
commit a2ac42d40c
2 changed files with 25 additions and 1 deletions

View File

@ -1303,7 +1303,12 @@ class manager {
}
// Show a message before each request, indicating what will be indexed.
$context = \context::instance_by_id($request->contextid);
$context = \context::instance_by_id($request->contextid, IGNORE_MISSING);
if (!$context) {
$DB->delete_records('search_index_requests', ['id' => $request->id]);
$progress->output('Skipped deleted context: ' . $request->contextid);
continue;
}
$contextname = $context->get_context_name();
if ($request->searcharea) {
$contextname .= ' (search area: ' . $request->searcharea . ')';

View File

@ -1190,5 +1190,24 @@ class search_manager_testcase extends advanced_testcase {
$this->assertContains(
'Completed requested context: Forum: TForum1 (search area: mod_forum-activity)',
$out);
// Make a request for a course context...
$course = $generator->create_course();
$context = context_course::instance($course->id);
$search::request_index($context);
// ...but then delete it (note: delete_course spews output, so we throw it away).
ob_start();
delete_course($course);
ob_end_clean();
// Process requests - it should only note the deleted context.
$search->process_index_requests(10, $progress);
$out = $progress->get_buffer();
$progress->reset_buffer();
$this->assertContains('Skipped deleted context: ' . $context->id, $out);
// Confirm request table is now empty.
$this->assertEquals(0, $DB->count_records('search_index_requests'));
}
}