diff --git a/ippisite/ippidb/templates/compound_list.html b/ippisite/ippidb/templates/compound_list.html index 0b8f8099db4da145ffb87ddd926d7f786c26babc..230aeb302906ef09e568476b4cc7d3481a360712 100644 --- a/ippisite/ippidb/templates/compound_list.html +++ b/ippisite/ippidb/templates/compound_list.html @@ -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"> diff --git a/ippisite/ippidb/templates/multiselection_list_menu.html b/ippisite/ippidb/templates/multiselection_list_menu.html index 9cc39d02351bfc8d794d1b356b2f0b2aae3b1c00..7f5f77fa259aa1b5d7bd30d07b849bf53147f4de 100644 --- a/ippisite/ippidb/templates/multiselection_list_menu.html +++ b/ippisite/ippidb/templates/multiselection_list_menu.html @@ -1,12 +1,12 @@ <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> diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py index 0fd62450af8ea16743320b3f22931d9450613def..f31daedb174827ceea304ec5a1f697b4915084a8 100644 --- a/ippisite/ippidb/views.py +++ b/ippisite/ippidb/views.py @@ -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):