Ajout de la moyenne de la note à la page
This commit is contained in:
parent
11dce64fa7
commit
816b43bb74
|
@ -4,6 +4,7 @@ namespace App\Controller;
|
||||||
|
|
||||||
use App\Entity\Atelier;
|
use App\Entity\Atelier;
|
||||||
use App\Repository\AtelierRepository;
|
use App\Repository\AtelierRepository;
|
||||||
|
use App\Repository\FormationUserRepository;
|
||||||
use App\Repository\UserRepository;
|
use App\Repository\UserRepository;
|
||||||
use App\Services\MarkdownAtelier;
|
use App\Services\MarkdownAtelier;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
@ -22,14 +23,15 @@ class AtelierController extends AbstractController
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/{id}', name: 'app_atelier_show', methods: ['GET'])]
|
#[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);
|
$eleves = $userRepository->getEleves($atelier);
|
||||||
$user = $this->getUser();
|
$user = $this->getUser();
|
||||||
return $this->render('atelier/show.html.twig', [
|
return $this->render('atelier/show.html.twig', [
|
||||||
'atelier' => $markdownAtelier->parse($atelier),
|
'atelier' => $markdownAtelier->parse($atelier),
|
||||||
'eleves' => $eleves,
|
'eleves' => $eleves,
|
||||||
'inscrit' => $user != null && $eleves->contains($this->getUser()),
|
'note' => $repository->getAvg($atelier),
|
||||||
|
'inscrit' => $user != null && $eleves->contains($this->getUser()),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Repository;
|
namespace App\Repository;
|
||||||
|
|
||||||
|
use App\Entity\Atelier;
|
||||||
use App\Entity\FormationUser;
|
use App\Entity\FormationUser;
|
||||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||||
use Doctrine\Persistence\ManagerRegistry;
|
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
|
// * @return FormationUser[] Returns an array of FormationUser objects
|
||||||
// */
|
// */
|
||||||
|
|
|
@ -23,6 +23,12 @@
|
||||||
<th>Email instructeur</th>
|
<th>Email instructeur</th>
|
||||||
<td>{{ atelier.instructeur.email }}</td>
|
<td>{{ atelier.instructeur.email }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>Note</th>
|
||||||
|
<td>
|
||||||
|
{{ note }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Elèves inscrits</th>
|
<th>Elèves inscrits</th>
|
||||||
<td>
|
<td>
|
||||||
|
|
Loading…
Reference in New Issue