X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/e74de70af5bbfacb9cdea3f8a0e86bbe9adfabe3..eb7ffdec9dc02d4f65e2955b677b849e58d857a9:/Resources/config/routes/rapsys_air.yaml diff --git a/Resources/config/routes/rapsys_air.yaml b/Resources/config/routes/rapsys_air.yaml index 675376e..8d378ff 100644 --- a/Resources/config/routes/rapsys_air.yaml +++ b/Resources/config/routes/rapsys_air.yaml @@ -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' @@ -14,87 +18,95 @@ rapsys_air_about: controller: Rapsys\AirBundle\Controller\DefaultController::about methods: GET +#TODO: drop it or should we keep it to be able to add an application from multiple places ??? +rapsys_air_application_add: + path: + en_gb: '/en/application' + fr_fr: '/reservation' + controller: Rapsys\AirBundle\Controller\ApplicationController::add + methods: GET|POST + 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 -rapsys_air_calendar: +#rapsys_air_calendar: +# path: +# en_gb: '/en/calendar' +# fr_fr: '/calendrier' +# controller: Rapsys\AirBundle\Controller\CalendarController::index +# methods: GET|POST + +rapsys_air_city: path: - en_gb: '/en/calendar' - fr_fr: '/calendrier' - controller: Rapsys\AirBundle\Controller\CalendarController::index + 'en_gb': '/en/city' + 'fr_fr': '/ville' + controller: Rapsys\AirBundle\Controller\LocationController::cities methods: GET|POST -rapsys_air_calendar_callback: - path: '/calendar/callback' - controller: Rapsys\AirBundle\Controller\CalendarController::callback - methods: GET - -rapsys_air_frequently_asked_questions: +rapsys_air_city_view: path: - en_gb: '/en/frequently-asked-questions' - fr_fr: '/foire-aux-questions' - controller: Rapsys\AirBundle\Controller\DefaultController::frequentlyAskedQuestions - methods: GET + '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_organizer_regulation: +rapsys_air_dance: path: - en_gb: '/en/organizer-regulation' - fr_fr: '/reglement-organisateur' - controller: Rapsys\AirBundle\Controller\DefaultController::organizerRegulation - methods: GET + 'en_gb': '/en/dance' + 'fr_fr': '/danse' + controller: Rapsys\AirBundle\Controller\DanceController::index + methods: GET|POST -rapsys_air_terms_of_service: +rapsys_air_dance_view: path: - en_gb: '/en/terms-of-service' - fr_fr: '/conditions-generales-d-utilisation' - controller: Rapsys\AirBundle\Controller\DefaultController::termsOfService - methods: GET + '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_dispute: +rapsys_air_dance_name: path: - en_gb: '/en/dispute' - fr_fr: '/contestation' - controller: Rapsys\AirBundle\Controller\DefaultController::dispute + '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_location: +rapsys_air_frequently_asked_questions: path: - en_gb: '/en/location' - fr_fr: '/emplacement' - controller: Rapsys\AirBundle\Controller\LocationController::index + en_gb: '/en/frequently-asked-questions' + fr_fr: '/foire-aux-questions' + controller: Rapsys\AirBundle\Controller\DefaultController::frequentlyAskedQuestions methods: GET -rapsys_air_location_add: +rapsys_air_google_callback: + path: '/google/callback' + controller: Rapsys\AirBundle\Controller\UserController::googleCallback + methods: GET + +rapsys_air_location: 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 + controller: Rapsys\AirBundle\Controller\LocationController::index + 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 -rapsys_air_application_add: +rapsys_air_organizer_regulation: path: - en_gb: '/en/application' - fr_fr: '/reservation' - controller: Rapsys\AirBundle\Controller\ApplicationController::add - methods: POST + en_gb: '/en/organizer-regulation' + fr_fr: '/reglement-organisateur' + controller: Rapsys\AirBundle\Controller\DefaultController::organizerRegulation + methods: GET rapsys_air_session: path: @@ -103,27 +115,19 @@ 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' - fr_fr: '/seance/tangoargentin' - format: json + en_gb: '/en/session/tangoargentin.{!_format?json}' + fr_fr: '/seance/tangoargentin.{!_format?json}' controller: Rapsys\AirBundle\Controller\SessionController::tangoargentin methods: GET 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 + methods: GET|POST rapsys_air_snippet_add: path: @@ -139,45 +143,68 @@ rapsys_air_snippet_edit: controller: Rapsys\AirBundle\Controller\SnippetController::edit methods: POST +rapsys_air_terms_of_service: + path: + en_gb: '/en/terms-of-service' + fr_fr: '/conditions-generales-d-utilisation' + controller: Rapsys\AirBundle\Controller\DefaultController::termsOfService + methods: GET + rapsys_air_user: path: en_gb: '/en/user' fr_fr: '/utilisateur' - controller: Rapsys\AirBundle\Controller\UserController::index + controller: Rapsys\AirBundle\Controller\DefaultController::userIndex methods: GET +rapsys_air_user_milongaraphael: + path: + en_gb: '/en/milonga-raphael' + fr_fr: '/milonga-raphael' + controller: Rapsys\AirBundle\Controller\DefaultController::userView + defaults: + # default parameters + id: 1 + user: 'milonga-raphael' + rapsys_air_user_view: path: - en_gb: '/en/user/{id<\d+>}' - fr_fr: '/utilisateur/{id<\d+>}' - controller: Rapsys\AirBundle\Controller\UserController::view + en_gb: '/en/user/{id<\d+>}/{user<[\w-]+>?}' + fr_fr: '/utilisateur/{id<\d+>}/{user<[\w-]+>?}' + controller: Rapsys\AirBundle\Controller\DefaultController::userView methods: GET|POST rapsys_user_confirm: path: - en_gb: '/en/confirm/{mail}/{extra}/{hash}' - fr_fr: '/confirmer/{mail}/{extra}/{hash}' + en_gb: '/en/confirm/{hash}/{mail}' + fr_fr: '/confirmer/{hash}/{mail}' controller: Rapsys\UserBundle\Controller\DefaultController::confirm requirements: mail: '[a-zA-Z0-9=_-]+' - extra: '[a-zA-Z0-9=_-]+' hash: '[a-zA-Z0-9=_-]+' methods: GET|POST rapsys_user_edit: path: - en_gb: '/en/user/{mail}' - fr_fr: '/utilisateur/{mail}' - controller: Rapsys\UserBundle\Controller\DefaultController::edit + en_gb: '/en/user/{hash}/{mail}' + fr_fr: '/utilisateur/{hash}/{mail}' + controller: Rapsys\AirBundle\Controller\UserController::edit requirements: mail: '[a-zA-Z0-9=_-]+' + hash: '[a-zA-Z0-9=_-]+' methods: GET|POST rapsys_user_login: path: - en_gb: '/en/login' - fr_fr: '/connecter' + en_gb: '/en/login/{hash}/{mail}' + fr_fr: '/connecter/{hash}/{mail}' controller: Rapsys\UserBundle\Controller\DefaultController::login + defaults: + mail: ~ + hash: ~ + requirements: + mail: '[a-zA-Z0-9=_-]+' + hash: '[a-zA-Z0-9=_-]+' methods: GET|POST rapsys_user_logout: @@ -188,8 +215,8 @@ rapsys_user_logout: rapsys_user_recover: path: - en_gb: '/en/recover/{mail}/{pass}/{hash}' - fr_fr: '/recuperer/{mail}/{pass}/{hash}' + en_gb: '/en/recover/{hash}/{pass}/{mail}' + fr_fr: '/recuperer/{hash}/{pass}/{mail}' controller: Rapsys\UserBundle\Controller\DefaultController::recover defaults: mail: ~ @@ -203,13 +230,15 @@ rapsys_user_recover: rapsys_user_register: path: - en_gb: '/en/register/{field}/{hash}' - fr_fr: '/enregistrer/{field}/{hash}' + en_gb: '/en/register/{hash}/{field}/{mail}' + fr_fr: '/enregistrer/{hash}/{field}/{mail}' controller: Rapsys\UserBundle\Controller\DefaultController::register defaults: + mail: ~ field: ~ hash: ~ requirements: + mail: '[a-zA-Z0-9=_-]+' field: '[a-zA-Z0-9=_-]+' hash: '[a-zA-Z0-9=_-]+' methods: GET|POST