diff --git a/src/Controller/Backoffice/QuizController.php b/src/Controller/Backoffice/QuizController.php index 12f9420..3d5c4b2 100644 --- a/src/Controller/Backoffice/QuizController.php +++ b/src/Controller/Backoffice/QuizController.php @@ -264,7 +264,7 @@ class QuizController extends AbstractController 'candidate' => $candidate, ]); - if (!$quizCandidate) { + if (!$quizCandidate instanceof \Tvdt\Entity\QuizCandidate) { // Create new QuizCandidate if it doesn't exist (inactive by default when first toggling) $quizCandidate = new QuizCandidate($quiz, $candidate); $quizCandidate->active = false; diff --git a/src/Entity/Answer.php b/src/Entity/Answer.php index 8b3cc7b..f862b36 100644 --- a/src/Entity/Answer.php +++ b/src/Entity/Answer.php @@ -13,7 +13,7 @@ use Symfony\Component\Uid\Uuid; use Tvdt\Repository\AnswerRepository; #[ORM\Entity(repositoryClass: AnswerRepository::class)] -class Answer +class Answer implements \Stringable { #[ORM\Column(type: UuidType::NAME)] #[ORM\CustomIdGenerator(class: 'doctrine.uuid_generator')] diff --git a/src/Entity/Question.php b/src/Entity/Question.php index cb63479..ed8471b 100644 --- a/src/Entity/Question.php +++ b/src/Entity/Question.php @@ -13,7 +13,7 @@ use Symfony\Component\Uid\Uuid; use Tvdt\Repository\QuestionRepository; #[ORM\Entity(repositoryClass: QuestionRepository::class)] -class Question +class Question implements \Stringable { #[ORM\Column(type: UuidType::NAME)] #[ORM\CustomIdGenerator(class: 'doctrine.uuid_generator')] diff --git a/src/Entity/Quiz.php b/src/Entity/Quiz.php index f451bc5..e067d1c 100644 --- a/src/Entity/Quiz.php +++ b/src/Entity/Quiz.php @@ -135,6 +135,7 @@ class Quiz if (!isset($candidateCounts[$candidateId])) { $candidateCounts[$candidateId] = ['name' => $candidate->name, 'count' => 0]; } + ++$candidateCounts[$candidateId]['count']; } } @@ -154,9 +155,9 @@ class Quiz } } - if (!empty($missing) || !empty($duplicates)) { + if ($missing !== [] || $duplicates !== []) { $errors = []; - if (!empty($missing)) { + if ($missing !== []) { // If all active candidates are missing, show a special message if (\count($missing) === \count($activeCandidates)) { $errors[] = 'No candidates assigned to this question'; @@ -164,7 +165,8 @@ class Quiz $errors[] = 'Missing candidates: '.implode(', ', $missing); } } - if (!empty($duplicates)) { + + if ($duplicates !== []) { $errors[] = 'Duplicate candidates: '.implode(', ', $duplicates); }