Skip to content
Snippets Groups Projects
Commit 0d87c88e authored by Hervé  MENAGER's avatar Hervé MENAGER
Browse files

add back-end gears to filter compounds list on PPIs...

Former-commit-id: 83831b68fdff30a54b8f7a3212d0ab72d3347249
parent 150d91c4
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,14 @@ ...@@ -12,6 +12,14 @@
<form> <form>
<fieldset class="form-group row border border-info m-2"> <fieldset class="form-group row border border-info m-2">
<div class="bg-info col-12"><legend>PPI</legend></div> <div class="bg-info col-12"><legend>PPI</legend></div>
{% for ppi in selected_ppis|slice:":5" %}
<div class="form-check col-12">
<label class="form-check-label">
<input class="form-check-input text-right" type="checkbox" checked value="{{ ppi.id }}" onchange="this.form.submit()" name="ppi" style="width: auto; margin-right: inherit!;">
{{ ppi.name }}
</label>
</div>
{% endfor %}
{% for ppi in ppis|slice:":5" %} {% for ppi in ppis|slice:":5" %}
<div class="form-check col-12"> <div class="form-check col-12">
<label class="form-check-label"> <label class="form-check-label">
......
...@@ -182,9 +182,17 @@ def biblio_card(request, source, id_source): ...@@ -182,9 +182,17 @@ def biblio_card(request, source, id_source):
'tad_ppis': tad_ppis}) 'tad_ppis': tad_ppis})
def compound_list(request): def compound_list(request):
"""
Display the list of compounds
"""
compounds = Compound.objects.all() compounds = Compound.objects.all()
# if filtering on "action on PPI"
if request.GET.get('ppi'):
compounds = compounds.filter(compoundaction__ppi__id__in=request.GET.getlist('ppi'))
selected_ppis = Ppi.objects.filter(id__in=request.GET.getlist('ppi'))
ppis = Ppi.objects.exclude(id__in=request.GET.getlist('ppi'))
# handle pagination in compounds list
paginator = Paginator(compounds, 5) paginator = Paginator(compounds, 5)
ppis = Ppi.objects.all()
page = request.GET.get('page') page = request.GET.get('page')
try: try:
compounds = paginator.page(page) compounds = paginator.page(page)
...@@ -194,4 +202,4 @@ def compound_list(request): ...@@ -194,4 +202,4 @@ def compound_list(request):
except EmptyPage: except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results. # If page is out of range (e.g. 9999), deliver last page of results.
compounds = paginator.page(paginator.num_pages) compounds = paginator.page(paginator.num_pages)
return render(request, 'compound_list.html', {'compounds': compounds, 'ppis': ppis}) return render(request, 'compound_list.html', {'compounds': compounds, 'selected_ppis': selected_ppis, 'ppis': ppis})
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment