SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 22b0cc0e authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Simplify urls for profiles list using GET parameters

parent a77150b8
No related branches found
No related tags found
No related merge requests found
......@@ -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>
......
......@@ -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(),
......
......@@ -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):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment