X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/9a4fd9519332e2056058977a6170f04c4aca2408..d36b335eda001cf56350389881bb38cc81032e8c:/Resources/config/routes/rapsys_air.yaml diff --git a/Resources/config/routes/rapsys_air.yaml b/Resources/config/routes/rapsys_air.yaml index 99e80e8..3549da5 100644 --- a/Resources/config/routes/rapsys_air.yaml +++ b/Resources/config/routes/rapsys_air.yaml @@ -1,23 +1,34 @@ +#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: '/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: path: - en: '/en/calendar' - fr: '/calendrier' + en_gb: '/en/calendar' + fr_fr: '/calendrier' controller: Rapsys\AirBundle\Controller\CalendarController::index methods: GET|POST @@ -26,151 +37,217 @@ 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: '/en/frequently-asked-questions' - fr: '/foire-aux-questions' + 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: '/en/organizer-regulation' - fr: '/reglement-organisateur' + en_gb: '/en/organizer-regulation' + fr_fr: '/reglement-organisateur' controller: Rapsys\AirBundle\Controller\DefaultController::organizerRegulation methods: GET rapsys_air_terms_of_service: path: - en: '/en/terms-of-service' - fr: '/conditions-generales-d-utilisation' + 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: '/en/dispute' - fr: '/contestation' + en_gb: '/en/dispute' + fr_fr: '/contestation' controller: Rapsys\AirBundle\Controller\DefaultController::dispute methods: GET|POST rapsys_air_location: path: - en: '/en/location' - fr: '/emplacement' + en_gb: '/en/location' + fr_fr: '/emplacement' controller: Rapsys\AirBundle\Controller\LocationController::index - methods: GET - -rapsys_air_location_add: - path: - en: '/en/location' - fr: '/emplacement' - controller: Rapsys\AirBundle\Controller\LocationController::add - methods: POST - -rapsys_air_location_edit: - path: - en: '/en/location/{id<\d+>}' - fr: '/emplacement/{id<\d+>}' - controller: Rapsys\AirBundle\Controller\LocationController::edit - methods: POST + 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 + 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_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' + 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_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_user_login: +rapsys_air_user_milongaraphael: path: - en: /en/login - fr: /connecter - controller: Rapsys\UserBundle\Controller\DefaultController::login - methods: GET|POST + 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_recover: +rapsys_user_confirm: path: - en: /en/recover - fr: /recuperer - controller: Rapsys\UserBundle\Controller\DefaultController::recover + 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_recover_mail: +rapsys_user_edit: path: - en: /en/recover/{recipient}/{hash} - fr: /recuperer/{recipient}/{hash} - controller: Rapsys\UserBundle\Controller\DefaultController::recoverMail + en_gb: '/en/user/{hash}/{mail}' + fr_fr: '/utilisateur/{hash}/{mail}' + controller: Rapsys\AirBundle\Controller\UserController::edit requirements: - recipient: '[a-zA-Z0-9=_-]+' + mail: '[a-zA-Z0-9=_-]+' hash: '[a-zA-Z0-9=_-]+' methods: GET|POST -rapsys_user_register: +rapsys_user_login: path: - en: /en/register - fr: /enregistrer - controller: Rapsys\UserBundle\Controller\DefaultController::register + 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: /en/logout - fr: /deconnecter + 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