Merge pull request #5355 from christianbeeznest/GH-5351

Internal: Fix migration error handling for quizzes - refs #5351
pull/5356/head
christianbeeznest 1 year ago committed by GitHub
commit 70e6a8324e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 30
      src/CoreBundle/Migrations/Schema/V200/Version20231012185600.php

@ -14,6 +14,7 @@ use Chamilo\CourseBundle\Entity\CQuiz;
use Chamilo\CourseBundle\Repository\CQuizRepository;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Schema\Schema;
use Exception;
final class Version20231012185600 extends AbstractMigrationChamilo
{
@ -63,20 +64,25 @@ final class Version20231012185600 extends AbstractMigrationChamilo
foreach ($items as $itemData) {
$id = $itemData['iid'];
/** @var CQuiz $quiz */
$quiz = $quizRepo->find($id);
if ($quiz->hasResourceNode()) {
try {
/** @var CQuiz $quiz */
$quiz = $quizRepo->find($id);
if ($quiz === null || $quiz->hasResourceNode()) {
continue;
}
error_log('Version20231012185600 checking quiz ' . $id . ' as resource node ');
$admin = $userRepo->find($courseAdmin->getId());
$quiz->setParent($course);
$resourceNode = $quizRepo->addResourceNode($quiz, $admin, $course);
$quiz->addCourseLink($course);
$em->persist($resourceNode);
$em->persist($quiz);
$em->flush();
} catch (Exception $e) {
error_log("Error processing quiz with ID {$id} in course {$courseId}: " . $e->getMessage());
continue;
}
error_log('Version20231012185600 checking quiz '.$id.' as resource node ');
$courseAdmin = $userRepo->find($courseAdmin->getId());
$quiz->setParent($course);
$resourceNode = $quizRepo->addResourceNode($quiz, $courseAdmin, $course);
$quiz->addCourseLink($course);
$em->persist($resourceNode);
$em->persist($quiz);
$em->flush();
}
}
}

Loading…
Cancel
Save