Ajout de la possibilitée de noter une formation
This commit is contained in:
parent
e49689338c
commit
cca5388085
|
@ -4,6 +4,7 @@ namespace App\Controller;
|
||||||
|
|
||||||
use App\Entity\Atelier;
|
use App\Entity\Atelier;
|
||||||
use App\Entity\FormationUser;
|
use App\Entity\FormationUser;
|
||||||
|
use App\Form\NoteType;
|
||||||
use App\Repository\AtelierRepository;
|
use App\Repository\AtelierRepository;
|
||||||
use App\Repository\FormationUserRepository;
|
use App\Repository\FormationUserRepository;
|
||||||
use App\Services\MarkdownAtelier;
|
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);
|
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'])]
|
#[Route('/', name: 'app_atelier_inscrit', methods: ['GET'])]
|
||||||
public function index_inscrit(AtelierRepository $atelierRepository, MarkdownAtelier $markdown): Response
|
public function index_inscrit(AtelierRepository $atelierRepository, MarkdownAtelier $markdown): Response
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Form;
|
||||||
|
|
||||||
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
|
||||||
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
|
|
||||||
|
class NoteType extends AbstractType
|
||||||
|
{
|
||||||
|
public function buildForm(FormBuilderInterface $builder, array $options): void
|
||||||
|
{
|
||||||
|
$builder->add('note', IntegerType::class, [
|
||||||
|
'attr' => array('min' => 0, 'max' => 5,),
|
||||||
|
'empty_data' => 0,
|
||||||
|
'required' => false
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
{% extends 'base.html.twig' %}
|
||||||
|
|
||||||
|
{% block title %}Modifier l'atelier{% endblock %}
|
||||||
|
|
||||||
|
{% block body %}
|
||||||
|
<h1>Modifier l'atelier</h1>
|
||||||
|
|
||||||
|
{{ form_start(form) }}
|
||||||
|
{{ form_widget(form) }}
|
||||||
|
<div class="d-flex flex-row">
|
||||||
|
<button class="btn btn-outline-primary m-2">Enregistrer</button>
|
||||||
|
</div>
|
||||||
|
{{ form_end(form) }}
|
||||||
|
{% endblock %}
|
Loading…
Reference in New Issue