diff --git a/webapp/src/Controller/Jury/ClarificationController.php b/webapp/src/Controller/Jury/ClarificationController.php index 094c4f5fb3..4c8a6f8fa1 100644 --- a/webapp/src/Controller/Jury/ClarificationController.php +++ b/webapp/src/Controller/Jury/ClarificationController.php @@ -77,33 +77,26 @@ public function indexAction( ->setParameter('queue', $currentQueue); } + $clarifications = $queryBuilder + ->getQuery() + ->getResult(); + /** @var Clarification[] $newClarifications */ $newClarifications = []; /** @var Clarification[] $oldClarifications */ $oldClarifications = []; /** @var Clarification[] $generalClarifications */ $generalClarifications = []; - $wheres = [ - 'new' => 'clar.sender IS NOT NULL AND clar.answered = 0', - 'old' => 'clar.sender IS NOT NULL AND clar.answered != 0', - 'general' => 'clar.sender IS NULL AND clar.in_reply_to IS NULL', - ]; - foreach ($wheres as $type => $where) { - $clarifications = (clone $queryBuilder) - ->andWhere($where) - ->getQuery() - ->getResult(); - - switch ($type) { - case 'new': - $newClarifications = $clarifications; - break; - case 'old': - $oldClarifications = $clarifications; - break; - case 'general': - $generalClarifications = $clarifications; - break; + + foreach ($clarifications as $clar) { + if ($clar->getSender() !== null) { + if ($clar->getAnswered()) { + $oldClarifications[] = $clar; + } else { + $newClarifications[] = $clar; + } + } elseif ($clar->getInReplyTo() === null) { + $generalClarifications[] = $clar; } }