src/Controller/Bikers/LatestProduct.php line 13

Open in your IDE?
  1. <?php
  2. namespace BitBag\OpenMarketplace\Controller\Bikers;
  3. use Sylius\Bundle\ResourceBundle\Controller\ResourceController;
  4. use Sylius\Component\Resource\ResourceActions;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. class LatestProduct extends ResourceController
  8. {
  9.     public function indexAction(Request $request): Response
  10.     {
  11.         $configuration $this->requestConfigurationFactory->create($this->metadata$request);
  12.         $this->isGrantedOr403($configurationResourceActions::INDEX);
  13.         $resources $this->resourcesCollectionProvider->get($configuration$this->repository);
  14.         $event $this->eventDispatcher->dispatchMultiple(ResourceActions::INDEX$configuration$resources);
  15.         $eventResponse $event->getResponse();
  16.         if (null !== $eventResponse) {
  17.             return $eventResponse;
  18.         }
  19.         // Date d'aujourd'hui
  20.         // Date d'aujourd'hui
  21.         $aujourdHui = new \DateTime();
  22.         $nombreJours = [];
  23.         foreach ($resources as $resource) {
  24.             // Date de création de la ressource
  25.             $createdAt $resource->getCreatedAt();
  26.             // Calculer la différence entre les deux dates
  27.             $difference $aujourdHui->diff($createdAt);
  28.             // Obtenir le nombre de jours à partir de la différence
  29.             $nombreJours [] = $difference->days;
  30.         }
  31.         if ($configuration->isHtmlRequest()) {
  32.             return $this->render($configuration->getTemplate(ResourceActions::INDEX '.html'), [
  33.                 'configuration' => $configuration,
  34.                 'metadata' => $this->metadata,
  35.                 'resources' => $resources,
  36.                 'nombreJours' => $nombreJours,
  37.                 $this->metadata->getPluralName() => $resources,
  38.             ]);
  39.         }
  40.         return $this->createRestView($configuration$resources);
  41.     }
  42. }