src/Controller/BackendController.php line 51

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Personne;
  4. use App\Entity\User;
  5. use App\Form\CalculCommissionFormType;
  6. use App\Form\UserFormType;
  7. use App\Repository\ArticleRepository;
  8. use App\Repository\AvanceCommissionRepository;
  9. use App\Repository\CategorieCommissionRepository;
  10. use App\Repository\DistributeurRepository;
  11. use App\Repository\PeriodeRepository;
  12. use App\Repository\PersonneRepository;
  13. use App\Repository\PointDeVenteRepository;
  14. use App\Repository\PrimeDistributeurRepository;
  15. use App\Repository\PrimeRepository;
  16. use App\Repository\RapportActiviteRepository;
  17. use App\Repository\RegimeRepository;
  18. use App\Repository\TauxCommissionRepository;
  19. use App\Repository\UserRepository;
  20. use Doctrine\DBAL\Connection;
  21. use Doctrine\DBAL\Logging\DebugStack;
  22. use Doctrine\DBAL\Query;
  23. use Doctrine\ORM\Cache\QueryCache;
  24. use Doctrine\ORM\EntityManagerInterface;
  25. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  26. use Symfony\Component\ErrorHandler\Debug;
  27. use Symfony\Component\HttpFoundation\JsonResponse;
  28. use Symfony\Component\HttpFoundation\Request;
  29. use Symfony\Component\HttpFoundation\Response;
  30. use Symfony\Component\HttpFoundation\Session\Session;
  31. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasher;
  32. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  33. use Symfony\Component\Routing\Annotation\Route;
  34. use Symfony\Component\Uid\Uuid;
  35. class BackendController extends AbstractController
  36. {
  37.     public function __construct(
  38.         private readonly DistributeurRepository $distributeurRepository,
  39.         private readonly ArticleRepository $articleRepository,
  40.         private readonly PointDeVenteRepository $pointDeVenteRepository,
  41.         private readonly PeriodeRepository $periodeRepository,
  42.     )
  43.     {
  44.     }
  45.     #[Route('/'name'app_backend')]
  46.     public function index(): Response
  47.     {
  48.         $countDist count($this->distributeurRepository->findAll());
  49.         $countArticle count($this->articleRepository->findAll());
  50.         $countPdv count($this->pointDeVenteRepository->findAll());
  51.         $countPeriode count($this->periodeRepository->findAll());
  52.         $form $this->createForm(CalculCommissionFormType::class);
  53.         return $this->render('index.html.twig',[
  54.             'countDist' => $countDist,
  55.             'countArticle' => $countArticle,
  56.             'countPdv' => $countPdv,
  57.             'countPeriode' => $countPeriode,
  58.             'form' => $form->createView(),
  59.         ]);
  60.     }
  61.     #[Route('/ajax-notification'name'app_notification_ajax')]
  62.     public function notification(Session $session): Response
  63.     {
  64.         $key $session->getFlashBag()->peek('notif');
  65.         $notifs $key;
  66.         $response = new JsonResponse($notifs);
  67.         $session->getFlashBag()->clear();
  68.         return $response;
  69.     }
  70.     #[Route('/delete-rapport-octobre'name'app_delete_rapport_octobre')]
  71.     public function deleterapport(
  72.         RapportActiviteRepository $repository,
  73.         PeriodeRepository $periodeRepository,
  74.         EntityManagerInterface $entityManager
  75.     ): Response
  76.     {
  77.         $periode $periodeRepository->findOneBy(['intitule'=>'Octobre 2022']);
  78.         $rapportOctobre $repository->findBy(['period'=>$periode]);
  79.         foreach ($rapportOctobre as $item){
  80.             $entityManager->remove($item);
  81.         }
  82.         $entityManager->flush();
  83.         return new JsonResponse(['Status'=>'Ok']);
  84.     }
  85. /*
  86.     #[Route('/add-uuid', name: 'app_test_add_uuid')]
  87.     public function adduuid(
  88.         ArticleRepository $articleRepository,
  89.         AvanceCommissionRepository $avanceCommissionRepository,
  90.         CategorieCommissionRepository $categorieCommissionRepository,
  91.         DistributeurRepository $distributeurRepository,
  92.         PeriodeRepository $periodeRepository,
  93.         PointDeVenteRepository $pointDeVenteRepository,
  94.         PrimeDistributeurRepository $primeDistributeur,
  95.         PrimeRepository $prime,
  96.         RegimeRepository $regime,
  97.         TauxCommissionRepository $tauxCommission,
  98.         UserRepository $userRepository,
  99.         EntityManagerInterface $em,
  100.     ): Response
  101.     {
  102.         $repositories = [
  103.             $articleRepository,
  104.             $avanceCommissionRepository,
  105.             $categorieCommissionRepository,
  106.             $distributeurRepository,
  107.             $periodeRepository,
  108.             $pointDeVenteRepository,
  109.             $primeDistributeur,
  110.             $prime,
  111.             $regime,
  112.             $tauxCommission,
  113.             $userRepository
  114.         ];
  115.         //$em->getClassMetadata()
  116.         foreach ($repositories as $repository){
  117.             $items = $repository->findAll();
  118.             foreach ($items as $item){
  119.                 $metadata = $em->getClassMetadata($item::class);
  120.                 if($metadata->hasField('updatedAt')){
  121.                     $item->currentUser = $this->getUser()->getUserIdentifier();
  122.                 }
  123.                 //$item->currentUser = $this->getUser()->getUserIdentifier();
  124.                 if (!$item->getUuid()){
  125.                     $item->setUuid(Uuid::v1()->toBase58());
  126.                 }
  127.             }
  128.         }
  129.         $em->flush();
  130.         return new JsonResponse(['Status'=>'Ok']);
  131.     }
  132. */
  133. }