src/Controller/BaseController.php line 26

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Document;
  4. use App\Entity\DocumentPermission;
  5. use App\Entity\User;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\JsonResponse;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class BaseController extends AbstractController
  13. {
  14.     #[Route('/base'name'app_base')]
  15.     public function indexjson(): JsonResponse
  16.     {
  17.         return $this->json([
  18.             'message' => 'Welcome to your new controller!',
  19.             'path' => 'src/Controller/BaseController.php',
  20.         ]);
  21.     }
  22.     #[Route('/'name'homepage')]
  23.     public function index(EntityManagerInterface $em): Response
  24.     {
  25.         //$recent = $this->getUser() ? $em->getRepository(User::class)->getRecent($this->getUser()) : null;
  26.         $recent $this->getUser() ? $em->getRepository(Document::class)->findBy(["owner" => $this->getUser(), "isLastVersion" => true], ["dateUpdated" => "DESC"]) : null;
  27.         //$recent = $this->getUser() ? $em->getRepository(Document::class)->findAllLastVersion($this->getUser()) : null;
  28.         $shared $this->getUser() ? $em->getRepository(DocumentPermission::class)->findBy(["user" => $this->getUser()]) : null;
  29.         return $this->render("homepage.html.twig", [
  30.             "recent" => $recent,
  31.             "shared" => $shared
  32.         ]);
  33.     }
  34.     #[Route('/intetest'name'intetest')]
  35.     public function intetest(EntityManagerInterface $em): Response
  36.     {
  37.         //$recent = $this->getUser() ? $em->getRepository(User::class)->getRecent($this->getUser()) : null;
  38.         return $this->render("intetest.html.twig", [
  39.         ]);
  40.     }
  41.     #[Route('/setdocumentids'name'setdocumentids')]
  42.     public function setdocumentids(EntityManagerInterface $em): Response
  43.     {
  44.         $docs $em->getRepository(Document::class)->findBy(["type" => Document::TYPE_WEB]);
  45.         /** @var Document $doc */
  46.         foreach($docs as $doc) {
  47.             $count 1;
  48.             /** @var Document\Block $block */
  49.             foreach($doc->getBlocks() as $block) {
  50.                 if(!$block->getIdInDoc()) {
  51.                     $block->setIdInDoc($count);
  52.                     $count++;
  53.                     $em->persist($block);
  54.                 }
  55.             }
  56.         }
  57.         $em->flush();
  58.         //$recent = $this->getUser() ? $em->getRepository(User::class)->getRecent($this->getUser()) : null;
  59.         return $this->render("intetest.html.twig", [
  60.         ]);
  61.     }
  62.     #[Route('/makeuser1'name'makeuser1')]
  63.     public function makeuser1(EntityManagerInterface $emUserPasswordHasherInterface $hasher)
  64.     {
  65.         //info@bentam.fr:6jM47X6bRpsn
  66.         $user = new User();
  67.         $user->setRoles(["ROLE_USER""ROLE_ADMIN"]);
  68.         $user->setEmail("info@bentam.fr");
  69.         $password $hasher->hashPassword($user"6jM47X6bRpsn");
  70.         $user->setPassword($password);
  71.         $em->persist($user);
  72.         $em->flush();
  73.         return $this->redirectToRoute('homepage');
  74.     }
  75.     #[Route('/makeuser2'name'makeuser2')]
  76.     public function makeuser2(EntityManagerInterface $emUserPasswordHasherInterface $hasher)
  77.     {
  78.         //nicolas@factory02.com:chipette02
  79.         $user = new User();
  80.         $user->setRoles(["ROLE_USER""ROLE_ADMIN"]);
  81.         $user->setEmail("nicolas@factory02.com");
  82.         $password $hasher->hashPassword($user"chipette02");
  83.         $user->setPassword($password);
  84.         $em->persist($user);
  85.         $em->flush();
  86.         return $this->redirectToRoute('homepage');
  87.     }
  88. }