public function view(int $proof_id, EntityManagerInterface $em): Response
{
$dql = "SELECT p as proof, SUM(
s.vote) AS stat
FROM App:Proof p
LEFT JOIN App:Statistic s WITH
p.id = s.proof
WHERE
p.id = $proof_id";
$result = $em->createQuery($dql)->getOneOrNullResult();
$proof = $result['proof'];
if (!$proof) {
throw new NotFoundHttpException(self::PROOF_NO_FOUND);
}
if (!$proof->getIsPublic() && $proof->getUser() != $this->getUser()) {
throw new AccessDeniedException("Error access to proof $proof_id");
}
return $this->render('Logic/proof_view.html.twig', [
'proof' => $proof,
'vote_value' => $result['stat'] ?: 0,
]);
}