update userForm

This commit is contained in:
Charles 2025-07-17 11:45:02 +02:00
parent f24fb0180d
commit c3d3218bff
4 changed files with 11 additions and 76 deletions

View File

@ -3,9 +3,7 @@
namespace App\Controller; namespace App\Controller;
use App\Entity\User; use App\Entity\User;
use App\Entity\UsersOrganizations; use App\Form\UserForm;
use App\Form\EditUserForm;
use App\Form\NewUserForm;
use App\Service\UserOrganizationService; use App\Service\UserOrganizationService;
use App\Service\UserService; use App\Service\UserService;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
@ -71,7 +69,7 @@ class UserController extends AbstractController
#[Route('/new', name: 'new', methods: ['GET', 'POST'])] #[Route('/new', name: 'new', methods: ['GET', 'POST'])]
public function new(Request $request): Response public function new(Request $request): Response
{ {
$form = $this->createForm(NewUserForm::class); $form = $this->createForm(UserForm::class);
$form->handleRequest($request); $form->handleRequest($request);
@ -100,7 +98,7 @@ class UserController extends AbstractController
/** /**
* GET /user/{id}/edit - Show form to edit user * GET /user/{id}/edit - Show form to edit user
*/ */
#[Route('/{id}/edit', name: 'edit', requirements: ['id' => '\d+'], methods: ['GET', 'POST'])] #[Route('/{id}/edit', name: 'edit', requirements: ['id' => '\d+'], methods: ['GET', 'PUT', 'POST'])]
public function edit(int $id, EntityManagerInterface $entityManager, Request $request): Response public function edit(int $id, EntityManagerInterface $entityManager, Request $request): Response
{ {
//Handle access control //Handle access control
@ -115,7 +113,7 @@ class UserController extends AbstractController
} }
//Create form for editing user //Create form for editing user
$form = $this->createForm(EditUserForm::class, $user); $form = $this->createForm(UserForm::class, $user);
//Handle form submission //Handle form submission
$form->handleRequest($request); $form->handleRequest($request);
@ -133,27 +131,7 @@ class UserController extends AbstractController
'user' => $user, 'user' => $user,
]); ]);
} }
//
// /**
// * PUT/PATCH /user/{id} - Update user
// */
// #[Route('/{id}', name: 'update', methods: ['PUT', 'PATCH'], requirements: ['id' => '\d+'])]
// public function update(int $id, Request $request, EntityManagerInterface $entityManager): Response
// {
// if (!$this->isGranted('ROLE_SUDALYS_ADMIN')) {
// throw $this->createAccessDeniedException('Access denied');
// }
//
// $user = $entityManager->getRepository(User::class)->find($id);
// if (!$user) {
// throw $this->createNotFoundException(self::NOT_FOUND);
// }
//
// // Handle user update logic
// // Validate, persist, flush, redirect
//
// return $this->redirectToRoute('user_show', ['id' => $id]);
// }
// //
// /** // /**
// * DELETE /user/{id} - Delete user // * DELETE /user/{id} - Delete user

View File

@ -1,40 +0,0 @@
<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
class EditUserForm extends AbstractType
{
public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'label' => 'Prénom*',
'required' => true,
])
->add('surname', TextType::class, [
'label' => 'Nom*',
'required' => true,
])
->add('email', EmailType::class, [
'label' => 'Email*',
'required' => true,
])
->add('phoneNumber', TextType::class, [
'label' => 'Numéro de téléphone',
'required' => false,
]);
}
public function configureOptions(\Symfony\Component\OptionsResolver\OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => \App\Entity\User::class,
]);
}
}

View File

@ -9,7 +9,7 @@ use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
class NewUserForm extends AbstractType class UserForm extends AbstractType
{ {
public function buildForm(FormBuilderInterface $builder, array $options): void public function buildForm(FormBuilderInterface $builder, array $options): void
{ {

View File

@ -1,14 +1,11 @@
{% extends 'base.html.twig' %} {% extends 'base.html.twig' %}
{% block body %} {% block body %}
<div class="w-100 h-100 p-5 m-auto"> <div class="w-100 h-100 p-5 m-auto">
<h1>Modifier l'utilisateur</h1> <h1>Modifier l'utilisateur</h1>
<form method="post" action="{{ path('user_edit', {'id': user.id}) }}" enctype="multipart/form-data"> {{ form_start(form, {'action': path('user_edit', {'id': user.id}), 'method': 'PUT'}) }}
{{ form_start(form) }}
{{ form_widget(form) }} {{ form_widget(form) }}
<button type="submit" class="btn btn-primary">Enregistrer</button> <button type="submit" class="btn btn-primary">Enregistrer</button>
{{ form_end(form) }} {{ form_end(form) }}
</form>
</div> </div>
{% endblock %} {% endblock %}