diff --git a/src/Controller/ApprentiController.php b/src/Controller/ApprentiController.php index 371ed44..1591171 100644 --- a/src/Controller/ApprentiController.php +++ b/src/Controller/ApprentiController.php @@ -4,6 +4,7 @@ namespace App\Controller; use App\Entity\Atelier; use App\Entity\FormationUser; +use App\Form\NoteType; use App\Repository\AtelierRepository; use App\Repository\FormationUserRepository; use App\Services\MarkdownAtelier; @@ -52,6 +53,30 @@ class ApprentiController extends AbstractController return $this->redirectToRoute('app_atelier_show', ["id" => $atelier->getId()], Response::HTTP_SEE_OTHER); } + #[Route('/atelier/{id}/noter', name: 'app_atelier_noter', methods: ['GET', 'POST'])] + public function noter(Request $request, Atelier $atelier, ManagerRegistry $doctrine, FormationUserRepository $formationUserRepository): Response + { + $form = $this->createForm(NoteType::class); + $form->handleRequest($request); + + if ($form->isSubmitted() && $form->isValid()) { + $f = $formationUserRepository + ->findOneBy([ + 'atelier' => $atelier, + 'eleve' => $this->getUser() + ]) + ->setNote($form->get('note')->getData()); + $formationUserRepository->save($f, true); + + return $this->redirectToRoute('app_atelier_show', ["id" => $atelier->getId()], Response::HTTP_SEE_OTHER); + } + + return $this->renderForm('atelier/noter.html.twig', [ + 'atelier' => $atelier, + 'form' => $form, + ]); + } + #[Route('/', name: 'app_atelier_inscrit', methods: ['GET'])] public function index_inscrit(AtelierRepository $atelierRepository, MarkdownAtelier $markdown): Response { diff --git a/src/Form/NoteType.php b/src/Form/NoteType.php new file mode 100644 index 0000000..11840ce --- /dev/null +++ b/src/Form/NoteType.php @@ -0,0 +1,19 @@ +add('note', IntegerType::class, [ + 'attr' => array('min' => 0, 'max' => 5,), + 'empty_data' => 0, + 'required' => false + ]); + } +} \ No newline at end of file diff --git a/templates/atelier/noter.html.twig b/templates/atelier/noter.html.twig new file mode 100644 index 0000000..76f3552 --- /dev/null +++ b/templates/atelier/noter.html.twig @@ -0,0 +1,14 @@ +{% extends 'base.html.twig' %} + +{% block title %}Modifier l'atelier{% endblock %} + +{% block body %} +

Modifier l'atelier

+ + {{ form_start(form) }} + {{ form_widget(form) }} +
+ +
+ {{ form_end(form) }} +{% endblock %}