]> Raphaƫl G. Git Repositories - airbundle/blobdiff - Controller/LocationController.php
Add new findTranslatedSortedByPeriod
[airbundle] / Controller / LocationController.php
index 0f47a99c281f0493a46124170dd51247915f371c..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
@@ -82,7 +86,7 @@ class LocationController extends DefaultController {
 
                //Fetch locations
                //XXX: we want to display all active locations anyway
-               $locations = $doctrine->getRepository(Location::class)->fetchTranslatedLocationByDatePeriod($this->translator, $period/*, !$this->isGranted('IS_AUTHENTICATED_REMEMBERED')*/);
+               $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, 'locations' => $locations]+$context+$this->context);