diff options
Diffstat (limited to 'uploader')
| -rw-r--r-- | uploader/samples/views.py | 4 | ||||
| -rw-r--r-- | uploader/templates/samples/sui-base.html | 19 | ||||
| -rw-r--r-- | uploader/templates/samples/sui-list-samples.html | 98 |
3 files changed, 120 insertions, 1 deletions
diff --git a/uploader/samples/views.py b/uploader/samples/views.py index f8baf7e..fcb895d 100644 --- a/uploader/samples/views.py +++ b/uploader/samples/views.py @@ -11,6 +11,8 @@ from flask import (flash, Blueprint, current_app as app) +from uploader.sui import sui_template + from uploader import jobs from uploader.files import save_file from uploader.flask_extensions import url_for @@ -86,7 +88,7 @@ def list_samples(species: dict, population: dict, **kwargs):# pylint: disable=[u total_samples = len(all_samples) offset = max(safe_int(request.args.get("from") or 0), 0) count = int(request.args.get("count") or 20) - return render_template("samples/list-samples.html", + return render_template(sui_template("samples/list-samples.html"), species=species, population=population, samples=all_samples[offset:offset+count], diff --git a/uploader/templates/samples/sui-base.html b/uploader/templates/samples/sui-base.html new file mode 100644 index 0000000..ee08e2e --- /dev/null +++ b/uploader/templates/samples/sui-base.html @@ -0,0 +1,19 @@ +{%extends "populations/sui-base.html"%} +{%from "populations/macro-display-population-card.html" import display_sui_population_card%} + +{%block breadcrumbs%} +{{super()}} +<li class="breadcrumb-item">Manage Samples</li> +{%endblock%} + +{%block contents%} +<div class="row"> + <h2 class="heading">{{population.FullName}} ({{population.Name}})</h2> +</div> +{%endblock%} + + + +{%block sidebarcontents%} +{{display_sui_population_card(species, population)}} +{%endblock%} diff --git a/uploader/templates/samples/sui-list-samples.html b/uploader/templates/samples/sui-list-samples.html new file mode 100644 index 0000000..e9ed71a --- /dev/null +++ b/uploader/templates/samples/sui-list-samples.html @@ -0,0 +1,98 @@ +{%extends "samples/sui-base.html"%} +{%from "flash_messages.html" import flash_all_messages%} +{%from "populations/macro-select-population.html" import select_population_form%} + +{%block title%}Samples — List Samples{%endblock%} + +{%block contents%} +{{super()}} + +<div class="row"> + <h3 class="subheading">manage samples</h3> + {{flash_all_messages()}} +</div> + +<div class="row"> + <div class="col"> + <a href="{{url_for('species.populations.samples.upload_samples', + species_id=species.SpeciesId, + population_id=population.Id)}}" + title="Add samples for population '{{population.FullName}}' from species + '{{species.FullName}}'." + class="btn btn-primary">add new samples</a> + </div> +</div> + +{%if samples | length > 0%} +<div class="row"> + <p> + Population "{{population.FullName}} ({{population.Name}})" already has + <strong>{{total_samples}}</strong> samples/individuals entered. You can + explore the list of samples in the table below. + </p> +</div> + +<div class="row"> + <div class="col-md-2"> + {%if offset > 0:%} + <a href="{{url_for('species.populations.samples.list_samples', + species_id=species.SpeciesId, + population_id=population.Id, + from=offset-count, + count=count)}}"> + <span class="glyphicon glyphicon-backward"></span> + Previous + </a> + {%endif%} + </div> + + <div class="col-md-8" style="text-align: center;"> + Samples {{offset}} — {{offset+(count if offset + count < total_samples else total_samples - offset)}} / {{total_samples}} + </div> + + <div class="col-md-2"> + {%if offset + count < total_samples:%} + <a href="{{url_for('species.populations.samples.list_samples', + species_id=species.SpeciesId, + population_id=population.Id, + from=offset+count, + count=count)}}"> + Next + <span class="glyphicon glyphicon-forward"></span> + </a> + {%endif%} + </div> +</div> +<div class="row"> + <table class="table"> + <thead> + <tr> + <th></th> + <th>Name</th> + <th>Auxilliary Name</th> + <th>Symbol</th> + <th>Alias</th> + </tr> + </thead> + + <tbody> + {%for sample in samples%} + <tr> + <td>{{sample.sequence_number}}</td> + <td>{{sample.Name}}</td> + <td>{{sample.Name2}}</td> + <td>{{sample.Symbol or "-"}}</td> + <td>{{sample.Alias or "-"}}</td> + </tr> + {%endfor%} + </tbody> + </table> +</div> +{%else%} +<div class="row"> + <p>There are no samples entered for this population. Click the "Add Samples" + button above, to add some new samples.</p> +</div> +{%endif%} + +{%endblock%} |
