1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| <?php
namespace App\Controller;
use App\Entity\Annonces;
use App\Entity\Users;
use App\Form\AnnoncesType;
use App\Form\EditProfileType;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\User\UserInterface;
class UsersController extends AbstractController
{
#[Route('/users', name: 'users')]
public function index(Users $user): Response
{
return $this->render('users/index.html.twig');
}
#[Route('/users/annonces/ajout', name: 'users_annonces_ajout')]
public function ajoutAnnonce(Request $request, ManagerRegistry $doctrine): Response
{
$annonce = new Annonces();
$form = $this->createForm(AnnoncesType::class, $annonce);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$annonce->setUser($this->getUser());
$annonce->setActive(false);
$em = $doctrine->getManager();
$em->persist($annonce);
$em->flush();
return $this->redirectToRoute('users');
}
return $this->render('users/annonces/ajout.html.twig', [
'form' => $form->createView(),
]);
}
#[Route('/users/profil/modifier', name: 'users_profil_modifier')]
public function editProfile(Request $request, ManagerRegistry $doctrine): Response
{
$user = $this->getUser();
$form = $this->createForm(EditProfileType::class, $user);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $doctrine->getManager();
$em->persist($user);
$em->flush();
$this->addFlash('message', 'profil mis à jour.');
return $this->redirectToRoute('users');
}
return $this->render('users/editprofile.html.twig', [
'form' => $form->createView(),
]);
}
#[Route('/users/password/modifier', name: 'users_password_modifier')]
public function editPassword(Request $request, ManagerRegistry $manager, UserPasswordHasherInterface $passwordHasher,UserInterface $user): Response
{
dd($user);
if ($request->isMethod('POST')) {
$em = $manager->getManager();
if ($request->request->get('password') == $request->request->get('password2')) {
$user->setPassword($passwordHasher->hashPassword($user, $request->request->get('password')));
$em->flush();
$this->addFlash('message', 'Mot de passe mis à jour avec succès');
return $this->redirectToRoute('users');
} else {
$this->addFlash('error', 'Les deux mots de passe ne sont pas identiques');
}
}
return $this->render('users/editpassword.html.twig');
}
#[Route('/users/data',name:'users_data')]
public function usersData(){
return $this->render("users/data.html.twig");
}
} |
Partager