X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/e74de70af5bbfacb9cdea3f8a0e86bbe9adfabe3..5cd9b7af3c72cfd6f53885fda8b69c63ec24b689:/Resources/config/routes/rapsys_air.yaml diff --git a/Resources/config/routes/rapsys_air.yaml b/Resources/config/routes/rapsys_air.yaml index 675376e..ec209fd 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' @@ -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' @@ -54,38 +93,17 @@ rapsys_air_terms_of_service: controller: Rapsys\AirBundle\Controller\DefaultController::termsOfService methods: GET -rapsys_air_dispute: - path: - en_gb: '/en/dispute' - fr_fr: '/contestation' - controller: Rapsys\AirBundle\Controller\DefaultController::dispute - methods: GET|POST - rapsys_air_location: path: 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 @@ -94,7 +112,7 @@ rapsys_air_application_add: en_gb: '/en/application' fr_fr: '/reservation' controller: Rapsys\AirBundle\Controller\ApplicationController::add - methods: POST + methods: GET|POST rapsys_air_session: path: @@ -103,27 +121,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: @@ -143,41 +153,57 @@ 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_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_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_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 +214,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 +229,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