]> Raphaƫl G. Git Repositories - airbundle/blobdiff - Controller/LocationController.php
Cleanup
[airbundle] / Controller / LocationController.php
index bf5f62d860409f9c2ce74d0c0d437a1df96b8c76..aa21c341b0f0e06330a9c4d61528f1259958b582 100644 (file)
@@ -23,13 +23,15 @@ class LocationController extends DefaultController {
                $doctrine = $this->getDoctrine();
 
                //Fetch location
-               $location = $doctrine->getRepository(Location::class)->findOneById($id);
+               if (empty($location = $doctrine->getRepository(Location::class)->findOneById($id))) {
+                       throw $this->createNotFoundException($this->translator->trans('Unable to find location: %id%', ['%id%' => $id]));
+               }
 
                //Set section
-               $section = $this->translator->trans($location);
+               $section = $this->translator->trans('Argentine Tango at '.$location);
 
                //Set title
-               $title = $section.' - '.$this->translator->trans($this->config['site']['title']);
+               $title = $this->translator->trans($this->config['site']['title']).' - '.$section;
 
                //Init context
                $context = [];
@@ -48,7 +50,9 @@ class LocationController extends DefaultController {
                                'user' => $this->getUser()->getId(),
                                //Set default slot to evening
                                //XXX: default to Evening (3)
-                               'slot' => $doctrine->getRepository(Slot::class)->findOneById(3)
+                               'slot' => $doctrine->getRepository(Slot::class)->findOneById(3),
+                               //Set default location to current one
+                               'location' => $location
                        ]);
 
                        //Add form to context
@@ -78,9 +82,13 @@ class LocationController extends DefaultController {
                );
 
                //Fetch calendar
-               $calendar = $doctrine->getRepository(Session::class)->fetchCalendarByDatePeriod($this->translator, $period, $id, $request->get('session'));
+               $calendar = $doctrine->getRepository(Session::class)->fetchCalendarByDatePeriod($this->translator, $period, $id, $request->get('session'), !$this->isGranted('IS_AUTHENTICATED_REMEMBERED'));
+
+               //Fetch locations
+               //XXX: we want to display all active locations anyway
+               $locations = $doctrine->getRepository(Location::class)->findTranslatedSortedByPeriod($this->translator, $period);
 
                //Render the view
-               return $this->render('@RapsysAir/location/view.html.twig', ['id' => $id, 'title' => $title, 'section' => $section, 'calendar' => $calendar]+$context+$this->context);
+               return $this->render('@RapsysAir/location/view.html.twig', ['id' => $id, 'title' => $title, 'section' => $section, 'calendar' => $calendar, 'locations' => $locations]+$context+$this->context);
        }
 }