X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/78c52371b43e0b62119dfac1f74c9e1fcf96a03b..9c203de952b34125f602f009e6fe426e34857d39:/Resources/config/routes/rapsys_air.yaml diff --git a/Resources/config/routes/rapsys_air.yaml b/Resources/config/routes/rapsys_air.yaml index 6c71b84..3549da5 100644 --- a/Resources/config/routes/rapsys_air.yaml +++ b/Resources/config/routes/rapsys_air.yaml @@ -1,71 +1,253 @@ +#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 + rapsys_air_contact: path: - en: '/en/contact' - fr: '/contact' + 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_regulation: +rapsys_air_calendar: + path: + en_gb: '/en/calendar' + fr_fr: '/calendrier' + controller: Rapsys\AirBundle\Controller\CalendarController::index + methods: GET|POST + +rapsys_air_calendar_callback: + path: '/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: '/en/regulation' - fr: '/reglement' - controller: Rapsys\AirBundle\Controller\DefaultController::regulation + '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' + fr_fr: '/foire-aux-questions' + controller: Rapsys\AirBundle\Controller\DefaultController::frequentlyAskedQuestions + methods: GET + +rapsys_air_organizer_regulation: + path: + en_gb: '/en/organizer-regulation' + fr_fr: '/reglement-organisateur' + controller: Rapsys\AirBundle\Controller\DefaultController::organizerRegulation methods: GET +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_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|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: path: - en: '/en/application' - fr: '/reservation' + en_gb: '/en/application' + fr_fr: '/reservation' controller: Rapsys\AirBundle\Controller\ApplicationController::add - methods: POST - -rapsys_air_application_edit: - path: - en: '/en/application/{id<\d+>}' - fr: '/reservation/{id<\d+>}' - controller: Rapsys\AirBundle\Controller\ApplicationController::edit - methods: POST + methods: GET|POST 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_tangoargentin: + path: + en_gb: '/en/session/tangoargentin' + 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_gb: '/en/snippet' + fr_fr: '/extrait' + controller: Rapsys\AirBundle\Controller\SnippetController::add + methods: POST + +rapsys_air_snippet_edit: + path: + en_gb: '/en/snippet/{id<\d+>}' + fr_fr: '/extrait/{id<\d+>}' + controller: Rapsys\AirBundle\Controller\SnippetController::edit + methods: POST 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_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-]+>?}' + #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}' + 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_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: + path: + en_gb: '/en/logout' + fr_fr: '/deconnecter' methods: GET + +rapsys_user_recover: + path: + en_gb: '/en/recover/{hash}/{pass}/{mail}' + fr_fr: '/recuperer/{hash}/{pass}/{mail}' + controller: Rapsys\UserBundle\Controller\DefaultController::recover + defaults: + mail: ~ + pass: ~ + hash: ~ + requirements: + mail: '[a-zA-Z0-9=_-]+' + pass: '[a-zA-Z0-9=_-]+' + hash: '[a-zA-Z0-9=_-]+' + methods: GET|POST + +rapsys_user_register: + path: + 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