Refactor HTML structure and indentation in trainees bulk update template for improved readability
This commit is contained in:
@@ -1,20 +1,20 @@
|
|||||||
{% extends 'generic/base.html' %}
|
{% extends 'generic/base.html' %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>Bulk update trainees (paste spreadsheet text)</h2>
|
<h2>Bulk update trainees (paste spreadsheet text)</h2>
|
||||||
|
|
||||||
<p>Paste the spreadsheet rows below. Headings like "Year 1 - Group 1" are used to set the grade (Year N -> STN). Rows should contain "Name <tab or 2+spaces> Supervisor".</p>
|
<p>Paste the spreadsheet rows below. Headings like "Year 1 - Group 1" are used to set the grade (Year N -> STN). Rows should contain "Name <tab or 2+spaces> Supervisor".</p>
|
||||||
|
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<textarea name="data" rows="18" style="width:100%">{% if request.POST.data %}{{ request.POST.data }}{% endif %}</textarea>
|
<textarea name="data" rows="18" style="width:100%">{% if request.POST.data %}{{ request.POST.data }}{% endif %}</textarea>
|
||||||
<div style="margin-top:8px">
|
<div style="margin-top:8px">
|
||||||
<button type="submit" name="action" value="preview" class="btn btn-primary">Preview</button>
|
<button type="submit" name="action" value="preview" class="btn btn-primary">Preview</button>
|
||||||
<button type="submit" name="action" value="apply" class="btn btn-danger" onclick="return confirm('This will apply updates to matched trainee profiles. Are you sure?')">Apply updates</button>
|
<button type="submit" name="action" value="apply" class="btn btn-danger" onclick="return confirm('This will apply updates to matched trainee profiles. Are you sure?')">Apply updates</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{% if preview %}
|
{% if preview %}
|
||||||
<h3>Preview ({{ preview|length }} rows)</h3>
|
<h3>Preview ({{ preview|length }} rows)</h3>
|
||||||
<table class="table table-sm">
|
<table class="table table-sm">
|
||||||
<thead>
|
<thead>
|
||||||
@@ -57,19 +57,19 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if report %}
|
{% if report %}
|
||||||
<h3>Apply report</h3>
|
<h3>Apply report</h3>
|
||||||
<p>Updated: {{ report.updated }}; Skipped (no user matched): {{ report.skipped }}</p>
|
<p>Updated: {{ report.updated }}; Skipped (no user matched): {{ report.skipped }}</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block extra_scripts %}
|
{% block js %}
|
||||||
<script>
|
<script>
|
||||||
// Called from the HTMX-rendered results fragment to set the manual selection
|
// Called from the HTMX-rendered results fragment to set the manual selection
|
||||||
function setManualUser(rowIndex, id, text) {
|
function setManualUser(rowIndex, id, text) {
|
||||||
const hiddenInput = document.getElementById('manual_user_' + rowIndex);
|
const hiddenInput = document.getElementById('manual_user_' + rowIndex);
|
||||||
const resultsDiv = document.getElementById('user-results-' + rowIndex);
|
const resultsDiv = document.getElementById('user-results-' + rowIndex);
|
||||||
if (hiddenInput) {
|
if (hiddenInput) {
|
||||||
@@ -78,9 +78,9 @@ function setManualUser(rowIndex, id, text) {
|
|||||||
if (resultsDiv) {
|
if (resultsDiv) {
|
||||||
resultsDiv.innerHTML = '<div>Selected: ' + escapeHtml(text) + '</div>';
|
resultsDiv.innerHTML = '<div>Selected: ' + escapeHtml(text) + '</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function escapeHtml(unsafe) {
|
function escapeHtml(unsafe) {
|
||||||
if (!unsafe) return '';
|
if (!unsafe) return '';
|
||||||
return String(unsafe)
|
return String(unsafe)
|
||||||
.replace(/&/g, "&")
|
.replace(/&/g, "&")
|
||||||
@@ -88,6 +88,6 @@ function escapeHtml(unsafe) {
|
|||||||
.replace(/>/g, ">")
|
.replace(/>/g, ">")
|
||||||
.replace(/\"/g, """)
|
.replace(/\"/g, """)
|
||||||
.replace(/'/g, "'");
|
.replace(/'/g, "'");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
Reference in New Issue
Block a user