From a547c180f63262be8e8bdf8fcf7250c4df2b91ad Mon Sep 17 00:00:00 2001 From: stronk7 Date: Sat, 23 May 2009 20:56:32 +0000 Subject: [PATCH] MDL-15355 restore - proper category selection when restoring from SITE + improved defaults ; merged from 19_STABLE --- backup/restore_form.html | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/backup/restore_form.html b/backup/restore_form.html index 6bd34e4161..f7a10abf97 100644 --- a/backup/restore_form.html +++ b/backup/restore_form.html @@ -239,14 +239,23 @@ function selectItemInCheckboxByName(formId, checkName, checked ) { echo ''; echo ""; echo ""; - // Category selection isn't alowed if restoring from within SITEID course - if ($id != SITEID) { - make_categories_list($categories, $parents); - choose_from_menu($categories, "restore_restorecatto", $course_header->category->id, ""); + // Get the list of categories where the user can create courses + make_categories_list($categories, $parents, 'moodle/course:create'); + $category_default = null; + // Best default 1: restoring in same site, use category of original course if available + if (backup_is_same_site($info) && + !empty($course_header->category->id) && + array_key_exists($course_header->category->id, $categories)) { + $category_default = $course_header->category->id; + // Best default 2: restore to the category of the course we are restoring from if available } else { - print_string('notavailable'); - echo ''; + $fromcat = $DB->get_field('course', 'category', array('id' => $id)); + if (!empty($fromcat) && + array_key_exists($fromcat, $categories)) { + $category_default = $fromcat; + } } + choose_from_menu($categories, 'restore_restorecatto', $category_default, ""); echo ""; echo ""; -- 2.39.5