src/Controller/DefaultController.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Component\Routing\Annotation\Route;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\RedirectResponse;
  6. class DefaultController extends BaseController
  7. {
  8.     /**
  9.      * @Route("/", name="homepage")
  10.      */
  11.     public function indexAction(Request $request)
  12.     {
  13.         if(!$this->session->get('magasin'))
  14.         {
  15.             $this->session->set('magasin'$this->utilisateur->getDefaultMagasin()->getId());
  16.         }
  17.         return $this->render('default/index.html.twig');
  18.         /*
  19.         $redirectTo = 'utilisateur_profile';
  20.         if($this->utilisateur->aDroit('module_statistique')) $redirectTo = 'statistiques_index';
  21.         elseif($this->utilisateur->aDroit('vente_consutlation')) $redirectTo = 'vente_index';
  22.         elseif($this->utilisateur->aDroit('achat_consutlation')) $redirectTo = 'achat_index';
  23.         elseif($this->utilisateur->aDroit('produit_consutlation')) $redirectTo = 'produit_index';
  24.         elseif($this->utilisateur->aDroit('reparation_consutlation')) $redirectTo = 'reparation_index';
  25.         return $this->redirectToRoute($redirectTo);
  26.         */
  27.     }
  28.     /**
  29.      * @Route("/switchmagasin/{id}", name="switchmagasin")
  30.      */
  31.     public function switchmagasinAction(Request $request$id)
  32.     {
  33.         $referer $request->headers->get('referer');
  34.         $redirectTo $referer ?: $this->generateUrl('homepage');
  35.         // If no authenticated user, just bounce back
  36.         if (!$this->utilisateur) {
  37.             return new RedirectResponse($redirectTo);
  38.         }
  39.         $requestedId = (int) $id;
  40.         // If an id was provided, verify the user has access to that magasin
  41.         if ($requestedId 0) {
  42.             $hasAccess false;
  43.             foreach ($this->utilisateur->getMagasins() as $magasin) {
  44.                 if ($magasin->getId() === $requestedId) {
  45.                     $hasAccess true;
  46.                     break;
  47.                 }
  48.             }
  49.             if ($hasAccess) {
  50.                 // Switch to requested magasin
  51.                 $this->session->set('magasin'$requestedId);
  52.                 $this->session->set('alertstock'1);
  53.             } else {
  54.                 // Deny switch and notify user
  55.                 $this->addFlash('error'"Vous n'avez pas accès à ce magasin.");
  56.             }
  57.         } else {
  58.             // No id provided: fallback to user's default magasin
  59.             $default $this->utilisateur->getDefaultMagasin();
  60.             if ($default) {
  61.                 $this->session->set('magasin'$default->getId());
  62.                 $this->session->set('alertstock'1);
  63.             }
  64.         }
  65.         return new RedirectResponse($redirectTo);
  66.     }
  67. }