X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/916fec644b0b2d9b3f41d54fcc1ed623aca8d734..eb7ffdec9dc02d4f65e2955b677b849e58d857a9:/Resources/config/routes/rapsys_air.yaml diff --git a/Resources/config/routes/rapsys_air.yaml b/Resources/config/routes/rapsys_air.yaml index ca99c4e..8d378ff 100644 --- a/Resources/config/routes/rapsys_air.yaml +++ b/Resources/config/routes/rapsys_air.yaml @@ -1,164 +1,244 @@ +#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: '/en' - fr: '/' + en_gb: '/en' + fr_fr: '/' controller: Rapsys\AirBundle\Controller\DefaultController::index methods: GET +rapsys_air_about: + path: + en_gb: '/en/about' + fr_fr: '/a-propos' + 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: '/en/contact' - 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_frequently_asked_questions: +#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: '/en/frequently-asked-questions' - fr: '/foire-aux-questions' - controller: Rapsys\AirBundle\Controller\DefaultController::frequentlyAskedQuestions - methods: GET + 'en_gb': '/en/city' + 'fr_fr': '/ville' + controller: Rapsys\AirBundle\Controller\LocationController::cities + methods: GET|POST -rapsys_air_organizer_regulation: +rapsys_air_city_view: path: - en: '/en/organizer-regulation' - fr: '/reglement-organisateur' - controller: Rapsys\AirBundle\Controller\DefaultController::organizerRegulation - 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_terms_of_service: +rapsys_air_dance: path: - en: '/en/terms-of-service' - fr: '/conditions-generales-d-utilisation' - controller: Rapsys\AirBundle\Controller\DefaultController::termsOfService - methods: GET + 'en_gb': '/en/dance' + 'fr_fr': '/danse' + controller: Rapsys\AirBundle\Controller\DanceController::index + methods: GET|POST -rapsys_air_dispute: +rapsys_air_dance_view: path: - en: '/en/dispute' - fr: '/contestation' - controller: Rapsys\AirBundle\Controller\DefaultController::dispute + '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_location: +rapsys_air_dance_name: path: - en: '/en/location' - fr: '/emplacement' - controller: Rapsys\AirBundle\Controller\LocationController::index - methods: GET + '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_add: +rapsys_air_frequently_asked_questions: path: - en: '/en/location' - fr: '/emplacement' - controller: Rapsys\AirBundle\Controller\LocationController::add - methods: POST + en_gb: '/en/frequently-asked-questions' + fr_fr: '/foire-aux-questions' + controller: Rapsys\AirBundle\Controller\DefaultController::frequentlyAskedQuestions + methods: GET -rapsys_air_location_edit: +rapsys_air_google_callback: + path: '/google/callback' + controller: Rapsys\AirBundle\Controller\UserController::googleCallback + methods: GET + +rapsys_air_location: path: - en: '/en/location/{id<\d+>}' - fr: '/emplacement/{id<\d+>}' - controller: Rapsys\AirBundle\Controller\LocationController::edit - methods: POST + en_gb: '/en/location' + fr_fr: '/emplacement' + controller: Rapsys\AirBundle\Controller\LocationController::index + methods: GET|POST rapsys_air_location_view: path: - en: '/en/location/{id<\d+>}' - 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: '/en/application' - 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: - en: '/en/session' - fr: '/seance' + en_gb: '/en/session' + fr_fr: '/seance' controller: Rapsys\AirBundle\Controller\SessionController::index methods: GET -rapsys_air_session_edit: +rapsys_air_session_tangoargentin: path: - en: '/en/session/{id<\d+>}' - fr: '/seance/{id<\d+>}' - controller: Rapsys\AirBundle\Controller\SessionController::edit - methods: POST + 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: '/en/session/{id<\d+>}' - 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: - en: '/en/snippet' - fr: '/extrait' + en_gb: '/en/snippet' + fr_fr: '/extrait' controller: Rapsys\AirBundle\Controller\SnippetController::add methods: POST rapsys_air_snippet_edit: path: - en: '/en/snippet/{id<\d+>}' - fr: '/extrait/{id<\d+>}' + en_gb: '/en/snippet/{id<\d+>}' + fr_fr: '/extrait/{id<\d+>}' 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: '/en/user' - fr: '/utilisateur' - controller: Rapsys\AirBundle\Controller\UserController::index + en_gb: '/en/user' + fr_fr: '/utilisateur' + 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: '/en/user/{id<\d+>}' - 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/{hash}/{mail}' + fr_fr: '/confirmer/{hash}/{mail}' + controller: Rapsys\UserBundle\Controller\DefaultController::confirm + requirements: + mail: '[a-zA-Z0-9=_-]+' + hash: '[a-zA-Z0-9=_-]+' + methods: GET|POST + +rapsys_user_edit: + path: + 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: /en/login - 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_recover: +rapsys_user_logout: path: - en: /en/recover - fr: /recuperer - controller: Rapsys\UserBundle\Controller\DefaultController::recover - methods: GET|POST + en_gb: '/en/logout' + fr_fr: '/deconnecter' + methods: GET -rapsys_user_recover_mail: +rapsys_user_recover: path: - en: /en/recover/{recipient}/{hash} - fr: /recuperer/{recipient}/{hash} - controller: Rapsys\UserBundle\Controller\DefaultController::recoverMail + en_gb: '/en/recover/{hash}/{pass}/{mail}' + fr_fr: '/recuperer/{hash}/{pass}/{mail}' + controller: Rapsys\UserBundle\Controller\DefaultController::recover + defaults: + mail: ~ + pass: ~ + hash: ~ requirements: - recipient: '[a-zA-Z0-9=_-]+' + mail: '[a-zA-Z0-9=_-]+' + pass: '[a-zA-Z0-9=_-]+' hash: '[a-zA-Z0-9=_-]+' methods: GET|POST rapsys_user_register: path: - en: /en/register - fr: /enregistrer + 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 - -rapsys_user_logout: - path: - en: /en/logout - fr: /deconnecter - methods: GET