SciPost Code Repository

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

Add handy 'add_get_parameters' templatetag

parent 22b0cc0e
No related branches found
No related tags found
No related merge requests found
{% extends 'scipost/_personal_page_base.html' %} {% extends 'scipost/_personal_page_base.html' %}
{% load bootstrap %} {% load bootstrap %}
{% load add_get_parameters %}
{% block breadcrumb_items %} {% block breadcrumb_items %}
{{ block.super }} {{ block.super }}
...@@ -15,6 +16,7 @@ ...@@ -15,6 +16,7 @@
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<p> <p>
View Profiles <a href="{% add_get_parameters contributor=True %}">with</a> or <a href="{% add_get_parameters contributor=False %}">without</a> an associated Contributor
<ul class="list-inline"> <ul class="list-inline">
<li class="list-inline-item"> <li class="list-inline-item">
<a href="{% url 'profiles:profiles' %}">View all</a> or view by discipline/subject area: <a href="{% url 'profiles:profiles' %}">View all</a> or view by discipline/subject area:
......
...@@ -85,6 +85,10 @@ class ProfileListView(PermissionsMixin, ListView): ...@@ -85,6 +85,10 @@ class ProfileListView(PermissionsMixin, ListView):
queryset = queryset.filter(discipline=self.request.GET['discipline'].lower()) queryset = queryset.filter(discipline=self.request.GET['discipline'].lower())
if self.request.GET.get('expertise', None): if self.request.GET.get('expertise', None):
queryset = queryset.filter(expertises__contains=[self.request.GET['expertise']]) queryset = queryset.filter(expertises__contains=[self.request.GET['expertise']])
if self.request.GET.get('contributor', None) == 'False':
queryset = queryset.filter(contributor=None)
elif self.request.GET.get('contributor', None) == 'True':
queryset = queryset.exclude(contributor=None)
return queryset return queryset
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
......
__copyright__ = "Copyright 2016-2018, Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from django import template
register = template.Library()
@register.simple_tag(takes_context=True)
def add_get_parameters(context, **kwargs):
parameters = context['request'].GET.copy()
for k, v in kwargs.items():
if v is not None:
parameters[k] = v
if parameters:
params = '?'
for k, v in parameters.items():
params += '&%s=%s' % (k, v)
return params.replace('?&', '?')
return ''
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