Ajout de la moyenne de la note à la page

This commit is contained in:
Aymeric SERRA 2023-02-09 20:58:58 +01:00
parent 11dce64fa7
commit 816b43bb74
Signed by: oupson
GPG Key ID: 3BD88615552EFCB7
3 changed files with 22 additions and 2 deletions

View File

@ -4,6 +4,7 @@ namespace App\Controller;
use App\Entity\Atelier;
use App\Repository\AtelierRepository;
use App\Repository\FormationUserRepository;
use App\Repository\UserRepository;
use App\Services\MarkdownAtelier;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@ -22,13 +23,14 @@ class AtelierController extends AbstractController
}
#[Route('/{id}', name: 'app_atelier_show', methods: ['GET'])]
public function show(Atelier $atelier, MarkdownAtelier $markdownAtelier, UserRepository $userRepository): Response
public function show(Atelier $atelier, MarkdownAtelier $markdownAtelier, UserRepository $userRepository, FormationUserRepository $repository): Response
{
$eleves = $userRepository->getEleves($atelier);
$user = $this->getUser();
return $this->render('atelier/show.html.twig', [
'atelier' => $markdownAtelier->parse($atelier),
'eleves' => $eleves,
'note' => $repository->getAvg($atelier),
'inscrit' => $user != null && $eleves->contains($this->getUser()),
]);
}

View File

@ -2,6 +2,7 @@
namespace App\Repository;
use App\Entity\Atelier;
use App\Entity\FormationUser;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
@ -39,6 +40,17 @@ class FormationUserRepository extends ServiceEntityRepository
}
}
public function getAvg(Atelier $atelier): ?float
{
return $this
->createQueryBuilder('fu')
->select('AVG(fu.note)')
->where('fu.atelier = :atelier and fu.note is not null')
->setParameter('atelier', $atelier)
->getQuery()
->getSingleScalarResult();
}
// /**
// * @return FormationUser[] Returns an array of FormationUser objects
// */

View File

@ -23,6 +23,12 @@
<th>Email instructeur</th>
<td>{{ atelier.instructeur.email }}</td>
</tr>
<tr>
<th>Note</th>
<td>
{{ note }}
</td>
</tr>
<tr>
<th>Elèves inscrits</th>
<td>