From d62ba20035ce6ee21a53a60513dffb02e953393d Mon Sep 17 00:00:00 2001 From: Nicolas Joyard <joyard.nicolas@gmail.com> Date: Wed, 8 Jun 2016 22:39:25 +0200 Subject: [PATCH] Restore singular-only and add permanent redirect for groups --- memopol/urls.py | 31 +++++++++++++++++++++---------- memopol/views/redirects.py | 9 +++++++++ 2 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 memopol/views/redirects.py diff --git a/memopol/urls.py b/memopol/urls.py index 6175d54b..5f6e885f 100644 --- a/memopol/urls.py +++ b/memopol/urls.py @@ -9,6 +9,7 @@ from views.dossier_list import DossierList from views.group_list import GroupList from views.representative_detail import RepresentativeDetail from views.representative_list import RepresentativeList +from views.redirects import RedirectGroupList import api @@ -17,43 +18,53 @@ admin.autodiscover() urlpatterns = [ # Project-specific overrides url( - r'^legislature/representatives?/(?P<group_kind>\w+)/(?P<chamber>.+)/' + + r'^legislature/representative/(?P<group_kind>\w+)/(?P<chamber>.+)/' + r'(?P<group>.+)/$', RepresentativeList.as_view(), name='representative-list' ), url( - r'^legislature/representatives?/(?P<group_kind>\w+)/(?P<group>.+)/$', + r'^legislature/representative/(?P<group_kind>\w+)/(?P<group>.+)/$', RepresentativeList.as_view(), name='representative-list' ), url( - r'^legislature/representatives?/(?P<slug>[-\w]+)/$', + r'^legislature/representative/$', + RepresentativeList.as_view(), + name='representative-list' + ), + url( + r'^legislature/representative/(?P<slug>[-\w]+)/$', RepresentativeDetail.as_view(), name='representative-detail' ), url( - r'^legislature/groups?/$', + r'^legislature/group/$', GroupList.as_view(), name='group-list' ), url( - r'^legislature/groups?/(?P<kind>\w+)/$', + r'^legislature/groups/$', + RedirectGroupList.as_view(), + name='group-list-redirect' + ), + url( + r'^legislature/group/(?P<kind>\w+)/$', GroupList.as_view(), name='group-list' ), url( - r'^legislature/representatives?/$', - RepresentativeList.as_view(), - name='representative-list' + r'^legislature/groups/(?P<kind>\w+)/$', + RedirectGroupList.as_view(), + name='group-list-redirect' ), url( - r'^votes/dossiers?/$', + r'^votes/dossier/$', DossierList.as_view(), name='dossier-list' ), url( - r'^votes/dossiers?/(?P<pk>\d+)/$', + r'^votes/dossier/(?P<pk>\d+)/$', DossierDetail.as_view(), name='dossier-detail' ), diff --git a/memopol/views/redirects.py b/memopol/views/redirects.py new file mode 100644 index 00000000..876c7eab --- /dev/null +++ b/memopol/views/redirects.py @@ -0,0 +1,9 @@ +# coding: utf-8 + +from django.views.generic.base import RedirectView + + +class RedirectGroupList(RedirectView): + permanent = True + query_string = True + pattern_name = 'group-list' -- GitLab