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%}
|