From 22b0cc0ea074ca35ca54a6335c349b86d1dd3a90 Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Sat, 29 Sep 2018 15:44:42 +0200 Subject: [PATCH] Simplify urls for profiles list using GET parameters --- profiles/templates/profiles/profile_list.html | 4 ++-- profiles/urls.py | 10 ---------- profiles/views.py | 8 ++++---- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/profiles/templates/profiles/profile_list.html b/profiles/templates/profiles/profile_list.html index 3f632260a..ae62b5c60 100644 --- a/profiles/templates/profiles/profile_list.html +++ b/profiles/templates/profiles/profile_list.html @@ -24,9 +24,9 @@ <div class="dropdown"> <button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton{{ discipline.0|cut:" " }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ discipline.0 }}</button> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton{{ discipline.0|cut:" " }}"> - <a class="dropdown-item" href="{% url 'profiles:profiles' discipline=discipline.0|cut:' ' %}">View all in {{ discipline.0 }}</a> + <a class="dropdown-item" href="?discipline={{ discipline.0|cut:' '}}">View all in {{ discipline.0 }}</a> {% for area in discipline.1 %} - <a class="dropdown-item" href="{% url 'profiles:profiles' discipline=discipline.0|cut:' ' expertise=area.0 %}">{{ area.0 }}</a> + <a class="dropdown-item" href="?discipline={{ discipline.0|cut:' '}}&expertise={{ area.0}}">{{ area.0 }}</a> {% endfor %} </div> </div> diff --git a/profiles/urls.py b/profiles/urls.py index 047dcb44d..b3bb01de2 100644 --- a/profiles/urls.py +++ b/profiles/urls.py @@ -22,16 +22,6 @@ urlpatterns = [ views.ProfileDeleteView.as_view(), name='profile_delete' ), - url( - r'^(?P<discipline>[a-zA-Z]+)/(?P<expertise>[a-zA-Z:]+)/$', - views.ProfileListView.as_view(), - name='profiles' - ), - url( - r'^(?P<discipline>[a-zA-Z]+)/$', - views.ProfileListView.as_view(), - name='profiles' - ), url( r'^$', views.ProfileListView.as_view(), diff --git a/profiles/views.py b/profiles/views.py index 4b0cd5c70..acffe4e3e 100644 --- a/profiles/views.py +++ b/profiles/views.py @@ -81,10 +81,10 @@ class ProfileListView(PermissionsMixin, ListView): Return a queryset of Profiles using optional GET data. """ queryset = Profile.objects.all() - if self.kwargs.get('discipline', None): - queryset = queryset.filter(discipline=self.kwargs['discipline'].lower()) - if self.kwargs.get('expertise', None): - queryset = queryset.filter(expertises__contains=[self.kwargs['expertise']]) + if self.request.GET.get('discipline', None): + queryset = queryset.filter(discipline=self.request.GET['discipline'].lower()) + if self.request.GET.get('expertise', None): + queryset = queryset.filter(expertises__contains=[self.request.GET['expertise']]) return queryset def get_context_data(self, **kwargs): -- GitLab