Ajout inscription et désinscription
This commit is contained in:
parent
022156c06a
commit
6121abb241
|
@ -6,6 +6,7 @@ use App\Entity\Atelier;
|
|||
use App\Form\AtelierType;
|
||||
use App\Repository\AtelierRepository;
|
||||
use App\Services\MarkdownAtelier;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
@ -59,6 +60,7 @@ class AtelierController extends AbstractController
|
|||
{
|
||||
return $this->render('atelier/show.html.twig', [
|
||||
'atelier' => $markdownAtelier->parse($atelier),
|
||||
'inscrit' => $atelier->getEleves()->contains($this->getUser()),
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -99,4 +101,23 @@ class AtelierController extends AbstractController
|
|||
|
||||
return $this->redirectToRoute('app_atelier_index', [], Response::HTTP_SEE_OTHER);
|
||||
}
|
||||
|
||||
#[IsGranted('ROLE_APPRENTI')]
|
||||
#[Route('/{id}/inscrire', name: 'app_atelier_inscription', methods: ['POST'])]
|
||||
public function inscription(Request $request, Atelier $atelier, ManagerRegistry $doctrine): Response
|
||||
{
|
||||
$entityManager = $doctrine->getManager();
|
||||
$atelier->addEleve($this->getUser());
|
||||
$entityManager->flush();
|
||||
return $this->redirectToRoute('app_atelier_show', ["id"=>$atelier->getId()], Response::HTTP_SEE_OTHER);
|
||||
}
|
||||
#[IsGranted('ROLE_APPRENTI')]
|
||||
#[Route('/{id}/desinscrire', name: 'app_atelier_desinscrire', methods: ['POST'])]
|
||||
public function desinscrire(Request $request, Atelier $atelier, ManagerRegistry $doctrine): Response
|
||||
{
|
||||
$entityManager = $doctrine->getManager();
|
||||
$atelier->removeEleve($this->getUser());
|
||||
$entityManager->flush();
|
||||
return $this->redirectToRoute('app_atelier_show', ["id"=>$atelier->getId()], Response::HTTP_SEE_OTHER);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,19 +21,28 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th>Email instructeur</th>
|
||||
<td>{{ atelier.instructeur.email}}</td>
|
||||
<td>{{ atelier.instructeur.email }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="d-flex flex-row">
|
||||
{% if app.user and app.user == atelier.instructeur %}
|
||||
<a class="btn btn-outline-primary m-2" href="{{ path('app_atelier_edit', {'id': atelier.id}) }}">Modifier</a>
|
||||
<a class="btn btn-outline-primary m-2"
|
||||
href="{{ path('app_atelier_edit', {'id': atelier.id}) }}">Modifier</a>
|
||||
{% endif %}
|
||||
<a class="btn btn-outline-primary m-2" href="{{ path('app_atelier_index') }}">Retour à la liste</a>
|
||||
{% if app.user and app.user == atelier.instructeur %}
|
||||
{{ include('atelier/_delete_form.html.twig') }}
|
||||
{{ include('atelier/_delete_form.html.twig') }}
|
||||
{% endif %}
|
||||
{% if not inscrit %}
|
||||
<form method="post" action="{{ path('app_atelier_inscription', {'id': atelier.id}) }}">
|
||||
<button class="btn btn-outline-success m-2">S'inscrire</button>
|
||||
</form>
|
||||
{% else %}
|
||||
<form method="post" action="{{ path('app_atelier_desinscrire', {'id': atelier.id}) }}">
|
||||
<button class="btn btn-outline-danger m-2">Se désinscrire</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% endblock %}
|
Loading…
Reference in New Issue