src/Controller/Frontend/FrontendController.php line 27

Open in your IDE?
  1. <?php
  2. // src/Controller/Frontend/FrontendController.php
  3. namespace App\Controller\Frontend;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  8. use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface// @dth: to encode the pass
  9. use Symfony\Component\Security\Core\Security;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Doctrine\ORM\EntityManagerInterface;
  12. class FrontendController extends AbstractController {
  13.     private $passwordEncoder;
  14.     public function __construct(UserPasswordEncoderInterface $passwordEncoder) {
  15.         $this->passwordEncoder $passwordEncoder;
  16.     }
  17.     /**
  18.      * @Route("website/", name="homepage_website", methods={"GET", "POST"})
  19.      */
  20.     public function homepage(EntityManagerInterface $entityManagerRequest $request): Response {
  21.         $user $request->get('user');
  22.         if ($user) {
  23.             $addUser = new \App\Entity\User();
  24.             $workArea $entityManager->getRepository(\App\Entity\WorkArea::class)->findOneByWorkAreaId($user['workArea']);
  25.             $company $entityManager->getRepository(\App\Entity\Company::class)->findOneByCompanyId($user['company']);
  26.             $rol $entityManager->getRepository(\App\Entity\UserRole::class)->findOneById(4);
  27.             $addUser->setFirstName($user['first_name']);
  28.             $addUser->setLastName($user['last_name']);
  29.             $addUser->setEmail($user['email']);
  30.             $addUser->setCompany($company);
  31.             $addUser->setWorkArea($workArea);
  32.             $addUser->setUserRole($rol);
  33.             $addUser->setStatus('ACTIVO');
  34.             if ($user['address']) {
  35.                 $addUser->setAddress($user['address']);
  36.             }
  37.             if ($request->get('user_password')) {
  38.                 $plainpwd $request->get('user_password');
  39.                 $encoded $this->passwordEncoder->encodePassword($addUser$plainpwd);
  40.                 $addUser->setPassword($encoded);
  41.             }
  42.             $entityManager->persist($addUser);
  43.             $entityManager->flush();
  44.             return $this->redirectToRoute('app_login', [], Response::HTTP_SEE_OTHER);
  45.         }
  46.         $company $entityManager->getRepository(\App\Entity\Company::class)->findByIsActive(1);
  47.         return $this->render('website/register.html.twig', [
  48.                     'company' => $company,
  49.         ]);
  50.     }
  51.     /**
  52.      * @Route("/website/company", name="homepage_selector_1", methods={"POST"})
  53.      */
  54.     public function getCompany(Request $requestEntityManagerInterface $entityManager): Response {
  55.         $id $request->get("id");
  56.         $company $entityManager->getRepository(\App\Entity\Company::class)->findOneByCompanyId($id);
  57.         $list $entityManager->getRepository(\App\Entity\WorkArea::class)->findBy(['isActive' => 1'company' => $company]);
  58.         return $this->render('website/company.html.twig', [
  59.                     'list' => $list
  60.         ]);
  61.     }
  62. }