]> Raphaël G. Git Repositories - airbundle/commitdiff
Add optional id and user parameters to contact route
authorRaphaël Gertz <git@rapsys.eu>
Thu, 13 Oct 2022 12:36:11 +0000 (14:36 +0200)
committerRaphaël Gertz <git@rapsys.eu>
Thu, 13 Oct 2022 12:41:10 +0000 (14:41 +0200)
Add city and dance routes
Drop location add and edit routes
Location index route handle post form submission
Drop session edit route
Add optional location, dance and user parameters to session view route
Add optional user parameters to user view route
Add milonga raphael specific route
Cleanup

Resources/config/routes/rapsys_air.yaml

index 3fd3afe88b1aacc3db081bcc9b8cf5bbb6edcfc3..3549da5ca4c35329e8e8aa17f2340086f202fe81 100644 (file)
@@ -1,5 +1,9 @@
+#https://symfony.com/doc/current/controller.html#controller-request-argument
+#CRUD: edit, index, new, show, _delete_form, _form
 #https://symfony.com/doc/current/routing.html#localized-routes-i18n
 #SCRUD: index, add, edit, delete, view
+
+#TODO: rename view in show ???
 rapsys_air:
     path:
         en_gb: '/en'
@@ -16,8 +20,8 @@ rapsys_air_about:
 
 rapsys_air_contact:
     path:
-        en_gb: '/en/contact'
-        fr_fr: '/contacter'
+        en_gb: '/en/contact/{id<\d*>?}/{user<[\w-]*>?}'
+        fr_fr: '/contacter/{id<\d*>?}/{user<[\w-]*>?}'
     controller: Rapsys\AirBundle\Controller\DefaultController::contact
     methods: GET|POST
 
@@ -33,6 +37,41 @@ rapsys_air_calendar_callback:
     controller: Rapsys\AirBundle\Controller\CalendarController::callback
     methods: GET
 
+rapsys_air_city:
+    path:
+        'en_gb': '/en/city'
+        'fr_fr': '/ville'
+    controller: Rapsys\AirBundle\Controller\LocationController::cities
+    methods: GET|POST
+
+rapsys_air_city_view:
+    path:
+        'en_gb': '/en/city/{latitude<-?(?:\d*\.)?\d+>}/{longitude<-?(?:\d*\.)?\d+>}/{city<[\w-]+>}'
+        'fr_fr': '/ville/{latitude<-?(?:\d*\.)?\d+>}/{longitude<-?(?:\d*\.)?\d+>}/{city<[\w-]+>}'
+    controller: Rapsys\AirBundle\Controller\LocationController::city
+    methods: GET|POST
+
+rapsys_air_dance:
+    path:
+        'en_gb': '/en/dance'
+        'fr_fr': '/danse'
+    controller: Rapsys\AirBundle\Controller\DanceController::index
+    methods: GET|POST
+
+rapsys_air_dance_view:
+    path:
+        'en_gb': '/en/dance/{id<[0-9]+>}/{name<[\w-]+>}/{type<[\w-]+>}'
+        'fr_fr': '/danse/{id<[0-9]+>}/{name<[\w-]+>}/{type<[\w-]+>}'
+    controller: Rapsys\AirBundle\Controller\DanceController::view
+    methods: GET|POST
+
+rapsys_air_dance_name:
+    path:
+        'en_gb': '/en/dance/{name<[a-zA-Z0-9=_-]+>}/{dance<[\w-]+>}'
+        'fr_fr': '/danse/{name<[a-zA-Z0-9=_-]+>}/{dance<[\w-]+>}'
+    controller: Rapsys\AirBundle\Controller\DanceController::name
+    methods: GET|POST
+
 rapsys_air_frequently_asked_questions:
     path:
         en_gb: '/en/frequently-asked-questions'
@@ -66,26 +105,12 @@ rapsys_air_location:
         en_gb: '/en/location'
         fr_fr: '/emplacement'
     controller: Rapsys\AirBundle\Controller\LocationController::index
-    methods: GET
-
-rapsys_air_location_add:
-    path:
-        en_gb: '/en/location'
-        fr_fr: '/emplacement'
-    controller: Rapsys\AirBundle\Controller\LocationController::add
-    methods: POST
-
-rapsys_air_location_edit:
-    path:
-        en_gb: '/en/location/{id<\d+>}'
-        fr_fr: '/emplacement/{id<\d+>}'
-    controller: Rapsys\AirBundle\Controller\LocationController::edit
-    methods: POST
+    methods: GET|POST
 
 rapsys_air_location_view:
     path:
-        en_gb: '/en/location/{id<\d+>}'
-        fr_fr: '/emplacement/{id<\d+>}'
+        en_gb: '/en/location/{id<\d+>}/{location<[\w-]+>?}'
+        fr_fr: '/emplacement/{id<\d+>}/{location<[\w-]+>?}'
     controller: Rapsys\AirBundle\Controller\LocationController::view
     methods: GET
 
@@ -103,13 +128,6 @@ rapsys_air_session:
     controller: Rapsys\AirBundle\Controller\SessionController::index
     methods: GET
 
-rapsys_air_session_edit:
-    path:
-        en_gb: '/en/session/{id<\d+>}'
-        fr_fr: '/seance/{id<\d+>}'
-    controller: Rapsys\AirBundle\Controller\SessionController::edit
-    methods: POST
-
 rapsys_air_session_tangoargentin:
     path:
         en_gb: '/en/session/tangoargentin'
@@ -120,17 +138,10 @@ rapsys_air_session_tangoargentin:
 
 rapsys_air_session_view:
     path:
-        en_gb: '/en/session/{id<\d+>}'
-        fr_fr: '/seance/{id<\d+>}'
+        en_gb: '/en/session/{id<\d+>}/{location<[\w-]+>}/{dance<[\w-]*>?}/{user<[\w-]*>?}'
+        fr_fr: '/seance/{id<\d+>}/{location<[\w-]+>}/{dance<[\w-]*>?}/{user<[\w-]*>?}'
     controller: Rapsys\AirBundle\Controller\SessionController::view
-    methods: GET
-
-rapsys_air_session_view2:
-    path:
-        en_gb: '/en/session2/{id<\d+>}'
-        fr_fr: '/seance2/{id<\d+>}'
-    controller: Rapsys\AirBundle\Controller\SessionController::view2
-    methods: GET
+    methods: GET|POST
 
 rapsys_air_snippet_add:
     path:
@@ -155,11 +166,23 @@ rapsys_air_user:
 
 rapsys_air_user_view:
     path:
-        en_gb: '/en/user/{id<\d+>}'
-        fr_fr: '/utilisateur/{id<\d+>}'
-    controller: Rapsys\AirBundle\Controller\DefaultController::userView
+        en_gb: '/en/user/{id<\d+>}/{user<[\w-]+>?}'
+        fr_fr: '/utilisateur/{id<\d+>}/{user<[\w-]+>?}'
+    #TODO: changer pour DefaultController::organizer ou DefaultController::user et dropper cette classe useless
+    controller: Rapsys\AirBundle\Controller\OrganizerController::view
     methods: GET|POST
 
+rapsys_air_user_milongaraphael:
+    path:
+        en_gb: '/en/milonga-raphael'
+        fr_fr: '/milonga-raphael'
+    #TODO: changer pour DefaultController::organizer ou DefaultController::user et dropper cette classe useless
+    controller: Rapsys\AirBundle\Controller\OrganizerController::view
+    defaults:
+        # default parameters
+        id: 1
+        user: 'milonga-raphael'
+
 rapsys_user_confirm:
     path:
         en_gb: '/en/confirm/{hash}/{mail}'