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;
use App\Entity\User;
use App\Entity\UsersOrganizations;
use App\Form\EditUserForm;
use App\Form\NewUserForm;
use App\Form\UserForm;
use App\Service\UserOrganizationService;
use App\Service\UserService;
use Doctrine\ORM\EntityManagerInterface;
@ -71,7 +69,7 @@ class UserController extends AbstractController
#[Route('/new', name: 'new', methods: ['GET', 'POST'])]
public function new(Request $request): Response
{
$form = $this->createForm(NewUserForm::class);
$form = $this->createForm(UserForm::class);
$form->handleRequest($request);
@ -100,7 +98,7 @@ class UserController extends AbstractController
/**
* 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
{
//Handle access control
@ -115,7 +113,7 @@ class UserController extends AbstractController
}
//Create form for editing user
$form = $this->createForm(EditUserForm::class, $user);
$form = $this->createForm(UserForm::class, $user);
//Handle form submission
$form->handleRequest($request);
@ -133,27 +131,7 @@ class UserController extends AbstractController
'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

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\OptionsResolver\OptionsResolver;
class NewUserForm extends AbstractType
class UserForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{

View File

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