*/
final class SeasonVoter extends Voter
{
public const string EDIT = 'SEASON_EDIT';
@@ -28,16 +28,15 @@ final class SeasonVoter extends Voter
{
return \in_array($attribute, [self::EDIT, self::DELETE, self::ELIMINATION], true)
&& (
- $subject instanceof Season
- || $subject instanceof Elimination
- || $subject instanceof Quiz
+ $subject instanceof Answer
|| $subject instanceof Candidate
- || $subject instanceof Answer
+ || $subject instanceof Elimination
+ || $subject instanceof Season
|| $subject instanceof Question
+ || $subject instanceof Quiz
);
}
- /** @param Season|Elimination|Quiz|Candidate|Answer|Question $subject */
protected function voteOnAttribute(string $attribute, mixed $subject, TokenInterface $token, ?Vote $vote = null): bool
{
$user = $token->getUser();
@@ -45,21 +44,21 @@ final class SeasonVoter extends Voter
return false;
}
- if ($user->isAdmin()) {
+ if ($user->isAdmin) {
return true;
}
switch (true) {
case $subject instanceof Answer:
- $season = $subject->getQuestion()->getQuiz()->getSeason();
+ $season = $subject->question->quiz->season;
break;
case $subject instanceof Elimination:
case $subject instanceof Question:
- $season = $subject->getQuiz()->getSeason();
+ $season = $subject->quiz->season;
break;
case $subject instanceof Candidate:
case $subject instanceof Quiz:
- $season = $subject->getSeason();
+ $season = $subject->season;
break;
case $subject instanceof Season:
$season = $subject;
diff --git a/src/Service/EliminationService.php b/src/Service/EliminationService.php
deleted file mode 100644
index 0343a67..0000000
--- a/src/Service/EliminationService.php
+++ /dev/null
@@ -1,16 +0,0 @@
-setQuestion((string) $questionArr[0]);
- $question->setOrdering($questionCounter++);
+ $question->question = (string) $questionArr[0];
+ $question->ordering = $questionCounter++;
$answerCounter = 1;
$arrCounter = 1;
@@ -100,7 +100,7 @@ class QuizSpreadsheetService
}
$answer = new Answer((string) $questionArr[$arrCounter++], (bool) $questionArr[$arrCounter++]);
- $answer->setOrdering($answerCounter++);
+ $answer->ordering = $answerCounter++;
$question->addAnswer($answer);
}
diff --git a/templates/backoffice/quiz.html.twig b/templates/backoffice/quiz.html.twig
index 1092b77..ea19683 100644
--- a/templates/backoffice/quiz.html.twig
+++ b/templates/backoffice/quiz.html.twig
@@ -109,7 +109,7 @@
| {{ candidate.score|default('x') }} |
- {{ candidate.time }} |
+ {{ candidate.time.format('%i:%S') }} |
{% else %}
diff --git a/tests/Security/Voter/SeasonVoterTest.php b/tests/Security/Voter/SeasonVoterTest.php
index 9f582af..884939b 100644
--- a/tests/Security/Voter/SeasonVoterTest.php
+++ b/tests/Security/Voter/SeasonVoterTest.php
@@ -53,19 +53,19 @@ final class SeasonVoterTest extends TestCase
$season->method('isOwner')->willReturn(true);
$quiz = self::createStub(Quiz::class);
- $quiz->method('getSeason')->willReturn($season);
+ $quiz->season = $season;
$elimination = self::createStub(Elimination::class);
- $elimination->method('getQuiz')->willReturn($quiz);
+ $elimination->quiz = $quiz;
$candidate = self::createStub(Candidate::class);
- $candidate->method('getSeason')->willReturn($season);
+ $candidate->season = $season;
$question = self::createStub(Question::class);
- $question->method('getQuiz')->willReturn($quiz);
+ $question->quiz = $quiz;
$answer = self::createStub(Answer::class);
- $answer->method('getQuestion')->willReturn($question);
+ $answer->question = $question;
yield 'Season' => [$season];
yield 'Elimination' => [$elimination];