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

modify menu list parameters in compounds list

to have something more user friendly: no parameter value set
means that we display only the top 5


Former-commit-id: 1abdb6a2fda913324d07362ffc24555ea0b7e768
parent 4a594a7a
No related branches found
No related tags found
No related merge requests found
......@@ -34,10 +34,10 @@
<div class="row flex-xl-nowrap">
<div class="col-12 col-md-3 col-xl-2 bd-sidebar">
<form>
{% include "multiselection_list_menu.html" with label="PPI" selected_list=selected_ppis unselected_list=ppis param_name="ppi" limit_param_name="ppis_limit" limit_param_value=ppis_limit %}
{% include "multiselection_list_menu.html" with label="Disease" selected_list=selected_diseases unselected_list=diseases param_name="disease" limit_param_name="diseases_limit" limit_param_value=diseases_limit %}
{% include "multiselection_list_menu.html" with label="Organism" selected_list=selected_taxonomies unselected_list=taxonomies param_name="taxonomy" limit_param_name="taxonomies_limit" limit_param_value=taxonomies_limit %}
{% include "multiselection_list_menu.html" with label="Bound complex" selected_list=selected_boundcomplexes unselected_list=boundcomplexes param_name="boundcomplex" limit_param_name="boundcomplexes_limit" limit_param_value=boundcomplexes_limit %}
{% include "multiselection_list_menu.html" with label="PPI" selected_list=selected_ppis unselected_list=ppis param_name="ppi" all_param_name="ppis_all" all_param_value=ppis_all %}
{% include "multiselection_list_menu.html" with label="Disease" selected_list=selected_diseases unselected_list=diseases param_name="disease" all_param_name="diseases_all" all_param_value=diseases_all %}
{% include "multiselection_list_menu.html" with label="Organism" selected_list=selected_taxonomies unselected_list=taxonomies param_name="taxonomy" all_param_name="taxonomies_all" all_param_value=taxonomies_all %}
{% include "multiselection_list_menu.html" with label="Bound complex" selected_list=selected_boundcomplexes unselected_list=boundcomplexes param_name="boundcomplex" all_param_name="boundcomplexes_all" all_param_value=boundcomplexes_all %}
</form>
</div>
<main class="col-12 col-md-9 col-xl-10 pl-md-5 bd-content" role="main">
......
<fieldset class="form-group row border border-info m-2">
<div class="bg-info col-12">
<legend>{{ label }}
{% if limit_param_value %}
<a href="#" class="float-right text-light" title="Display all {{ label }}s" onclick="modifyUrl('{{ limit_param_name }}',null);">[+]</a>
<input type="hidden" name="{{ limit_param_name }}" value="{{ limit_param_value }}" />
{% if not all_param_value %}
<a href="#" class="float-right text-light" title="Display all {{ label }}s" onclick="modifyUrl('{{ all_param_name }}',true);">[+]</a>
<input type="hidden" name="{{ all_param_name }}" value="{{ all_param_value }}" />
{% endif %}
{% if not limit_param_value %}
<a href="#" class="float-right text-light" title="Show only top 5 {{ label }}s" onclick="modifyUrl('{{ limit_param_name }}',5);">[-]</a>
{% if all_param_value %}
<a href="#" class="float-right text-light" title="Show only top 5 {{ label }}s" onclick="modifyUrl('{{ all_param_name }}',null);">[-]</a>
{% endif %}
</legend>
</div>
......
......@@ -199,38 +199,26 @@ def compound_list(request):
compounds = compounds.filter(compoundaction__ppi_id__ppicomplex__complex__protein__organism__id__in=request.GET.getlist('taxonomy'))
if request.GET.get('boundcomplexes'):
compounds = compounds.filter(compoundaction__ppi_id__ppicomplex__complex__id__in=request.GET.getlist('boundcomplex'))
try:
ppis_limit = int(request.GET.get('ppis_limit'))
except:
ppis_limit = None
try:
diseases_limit = int(request.GET.get('diseases_limit'))
except:
diseases_limit = None
try:
taxonomies_limit = int(request.GET.get('taxonomies_limit'))
except:
taxonomies_limit = None
try:
boundcomplexes_limit = int(request.GET.get('boundcomplexes_limit'))
except:
boundcomplexes_limit = None
ppis_all = request.GET.get('ppis_all', None)
diseases_all = request.GET.get('diseases_all', None)
taxonomies_all = request.GET.get('taxonomies_all', None)
boundcomplexes_all = request.GET.get('boundcomplexes_all', None)
selected_ppis = Ppi.objects.filter(id__in=request.GET.getlist('ppi'))
ppis = Ppi.objects.exclude(id__in=request.GET.getlist('ppi'))
if ppis_limit is not None:
ppis = ppis[:ppis_limit]
if ppis_all is None:
ppis = ppis[:5]
selected_diseases = Disease.objects.filter(id__in=request.GET.getlist('disease'))
diseases = Disease.objects.exclude(id__in=request.GET.getlist('disease'))
if diseases_limit is not None:
diseases = diseases[:diseases_limit]
if diseases_all is None:
diseases = diseases[:5]
selected_taxonomies = Taxonomy.objects.filter(id__in=request.GET.getlist('taxonomy'))
taxonomies = Taxonomy.objects.exclude(id__in=request.GET.getlist('taxonomy'))
if taxonomies_limit is not None:
taxonomies = taxonomies[:taxonomies_limit]
if taxonomies_all is None:
taxonomies = taxonomies[:5]
selected_boundcomplexes = ProteinDomainBoundComplex.objects.filter(id__in=request.GET.getlist('boundcomplex'))
boundcomplexes = ProteinDomainBoundComplex.objects.exclude(id__in=request.GET.getlist('boundcomplex'))
if boundcomplexes_limit is not None:
boundcomplexes = boundcomplexes[:boundcomplexes_limit]
if boundcomplexes_all is None:
boundcomplexes = boundcomplexes[:5]
# handle pagination in compounds list
paginator = Paginator(compounds, 5)
page = request.GET.get('page')
......@@ -245,16 +233,16 @@ def compound_list(request):
return render(request, 'compound_list.html', {'compounds': compounds,
'selected_ppis': selected_ppis,
'ppis': ppis,
'ppis_limit': ppis_limit,
'ppis_all': ppis_all,
'selected_diseases': selected_diseases,
'diseases': diseases,
'diseases_limit': diseases_limit,
'diseases_all': diseases_all,
'selected_taxonomies': selected_taxonomies,
'taxonomies': taxonomies,
'taxonomies_limit': taxonomies_limit,
'taxonomies_all': taxonomies_all,
'selected_boundcomplexes': selected_boundcomplexes,
'boundcomplexes': boundcomplexes,
'boundcomplexes_limit': boundcomplexes_limit
'boundcomplexes_all': boundcomplexes_all
})
def compound_card(request, compound_id):
......
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