diff --git a/backup/util/dbops/restore_dbops.class.php b/backup/util/dbops/restore_dbops.class.php index ec4577673887f..9992713aeff01 100644 --- a/backup/util/dbops/restore_dbops.class.php +++ b/backup/util/dbops/restore_dbops.class.php @@ -604,7 +604,8 @@ public static function prechek_precheck_qbanks_by_level($restoreid, $courseid, $ // 6b) User cannot, check if we are in some contextlevel with fallback // 7a) There is fallback, move ALL the qcats to fallback, warn. End qcat loop // 7b) No fallback, error. End qcat loop - // 5b) Match, mark q to be mapped + // 5b) Random question, must always create new. + // 5c) Match, mark q to be mapped // 8) Check if backup is from Moodle >= 3.5 and error if more than one top-level category in the context. // Get all the contexts (question banks) in restore for the given contextlevel @@ -708,7 +709,11 @@ public static function prechek_precheck_qbanks_by_level($restoreid, $courseid, $ break 2; // out from qcat loop (both 7a and 7b), we have decided about ALL categories in context (bank) } - // 5b) Match, mark q to be mapped + // 5b) Random questions must always be newly created. + } else if ($question->qtype == 'random') { + // Nothing to mark, newitemid means create + + // 5c) Match, mark q to be mapped. } else { self::set_backup_ids_record($restoreid, 'question', $question->id, $matchqid); }