edit profile pour le mdp réparé
This commit is contained in:
parent
84985081fe
commit
3d3a94a35c
@ -13,6 +13,7 @@ use Doctrine\ORM\EntityManagerInterface;
|
|||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
|
||||||
use Symfony\Component\Routing\Attribute\Route;
|
use Symfony\Component\Routing\Attribute\Route;
|
||||||
|
|
||||||
class ProfileController extends AbstractController
|
class ProfileController extends AbstractController
|
||||||
@ -50,12 +51,19 @@ class ProfileController extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[Route('profile/{id}/edit', name: 'app_profile_edit', methods: ['GET', 'POST'])]
|
#[Route('profile/{id}/edit', name: 'app_profile_edit', methods: ['GET', 'POST'])]
|
||||||
public function edit(Request $request, UserApp $userApp,): Response
|
public function edit(Request $request, UserApp $userApp, UserPasswordHasherInterface $passwordHasher): Response
|
||||||
{
|
{
|
||||||
$form = $this->createForm(UserAppType::class, $userApp);
|
$form = $this->createForm(UserAppType::class, $userApp);
|
||||||
$form->handleRequest($request);
|
$form->handleRequest($request);
|
||||||
|
|
||||||
if ($form->isSubmitted() && $form->isValid()) {
|
if ($form->isSubmitted() && $form->isValid()) {
|
||||||
|
$plainPassword = $form->get('password')->getData();
|
||||||
|
|
||||||
|
if (!empty($plainPassword)) {
|
||||||
|
$hashedPassword = $passwordHasher->hashPassword($userApp, $plainPassword);
|
||||||
|
$userApp->setPassword($hashedPassword);
|
||||||
|
}
|
||||||
|
|
||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
|
|
||||||
return $this->redirectToRoute('app_profile', [], Response::HTTP_SEE_OTHER);
|
return $this->redirectToRoute('app_profile', [], Response::HTTP_SEE_OTHER);
|
||||||
|
@ -4,6 +4,7 @@ namespace App\Form;
|
|||||||
|
|
||||||
use App\Entity\UserApp;
|
use App\Entity\UserApp;
|
||||||
use Symfony\Component\Form\AbstractType;
|
use Symfony\Component\Form\AbstractType;
|
||||||
|
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||||
|
|
||||||
@ -13,12 +14,19 @@ class UserAppType extends AbstractType
|
|||||||
{
|
{
|
||||||
$builder
|
$builder
|
||||||
->add('nickname')
|
->add('nickname')
|
||||||
->add('password')
|
|
||||||
->add('firstName')
|
->add('firstName')
|
||||||
->add('lastName')
|
->add('lastName')
|
||||||
->add('tel')
|
->add('tel')
|
||||||
->add('address')
|
->add('address')
|
||||||
->add('mail')
|
->add('mail')
|
||||||
|
->add('password', PasswordType::class, [
|
||||||
|
'mapped' => false,
|
||||||
|
'required' => false,
|
||||||
|
'attr' => [
|
||||||
|
'autocomplete' => 'new-password'
|
||||||
|
],
|
||||||
|
'label' => 'Nouveau mot de passe',
|
||||||
|
])
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,7 +16,11 @@
|
|||||||
{{ form_row(form.tel, {'attr': {'class': 'w-full p-3 border rounded-md'}}) }}
|
{{ form_row(form.tel, {'attr': {'class': 'w-full p-3 border rounded-md'}}) }}
|
||||||
{{ form_row(form.address, {'attr': {'class': 'w-full p-3 border rounded-md'}}) }}
|
{{ form_row(form.address, {'attr': {'class': 'w-full p-3 border rounded-md'}}) }}
|
||||||
{{ form_row(form.mail, {'attr': {'class': 'w-full p-3 border rounded-md'}}) }}
|
{{ form_row(form.mail, {'attr': {'class': 'w-full p-3 border rounded-md'}}) }}
|
||||||
{{ form_row(form.password, {'attr': {'class': 'w-full p-3 border rounded-md'}}) }}
|
{{ form_row(form.password, {
|
||||||
|
'attr': {'class': 'w-full p-3 border rounded-md'},
|
||||||
|
'label': 'Mot de passe (laissez vide pour ne pas changer)',
|
||||||
|
}) }}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-6">
|
<div class="mt-6">
|
||||||
{{ form_widget(form) }}
|
{{ form_widget(form) }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user