<?php
namespace App\Controller;
use App\Entity\TblSociete;
use App\Entity\User;
use App\Form\UserFormType;
use App\Repository\TblSocieteRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
/**
* @Route("/")
*/
class SecurityController extends AbstractController
{
/**
* @Route("/login", name="app_login")
*/
public function login(AuthenticationUtils $authenticationUtils ): Response
{
if ($this->getUser()) {
return $this->redirectToRoute('home');
}
// get the login error if there is one
$error = $authenticationUtils->getLastAuthenticationError();
// last username entered by the user
$lastUsername = $authenticationUtils->getLastUsername();
$logoRepo = $this->getDoctrine()->getRepository(TblSociete::class)->find(1);
return $this->render('security/login.html.twig', ['last_username' => $lastUsername, 'error' => $error,'logoSociete' => $logoRepo ]);
}
/**
* @ParamConverter("user", options={"mapping": {"id": "userId"}})
* @Route("/profile/{id}", name="profile")
*/
public function profile(Request $request, User $user)
{
$entityManager = $this->getDoctrine()->getManager();
$form = $this->createForm(UserFormType::class, $user);
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid())
{
$entityManager->flush();
$this->addFlash(
'success',
'user.alert.update'
);
return $this->redirectToRoute('profile', ['id' => $user->getUserId()], Response::HTTP_SEE_OTHER);
}
return $this->render("security/profile.html.twig", [
"form" => $form->createView(),
"retour_button" => 'Retour',
]);
}
/**
* @Route("/create-user", name="user_create_todelete", methods={"GET","POST"})
*/
public function new(Request $request): Response
{
$user = new User();
$form = $this->createForm(UserFormType::class, $user);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($user);
$entityManager->flush();
return $this->redirectToRoute('product_admin_index');
}
return $this->render('security/_form.html.twig', [
'form' => $form->createView(),
]);
}
/**
* @Route("/logout", name="app_logout")
*/
public function logout()
{
}
}