Merge pull request 'Auto-commit local changes before build (2026-01-06 11:15:00)' (#39) from v20260106-05-jobs-row-click-and-archive-button-move into main
Reviewed-on: #39
This commit is contained in:
commit
a600a7ad33
@ -1 +1 @@
|
|||||||
v20260106-04-jobs-archive
|
v20260106-05-jobs-row-click-and-archive-button-move
|
||||||
|
|||||||
@ -48,9 +48,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if can_manage_jobs %}
|
{% if can_manage_jobs %}
|
||||||
<form method="post" action="{{ url_for('main.job_delete', job_id=job.id) }}" class="mb-3" onsubmit="return confirm('Are you sure you want to delete this job? Related mails will be returned to the Inbox.');">
|
<div class="d-flex flex-wrap gap-2 mb-3">
|
||||||
<button type="submit" class="btn btn-outline-danger">Delete job</button>
|
<form method="post" action="{{ url_for('main.archive_job', job_id=job.id) }}" class="mb-0" onsubmit="return confirm('Archive this job? No new runs are expected and it will be removed from Daily Jobs and Run Checks.');">
|
||||||
</form>
|
<button type="submit" class="btn btn-outline-secondary">Archive</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<form method="post" action="{{ url_for('main.job_delete', job_id=job.id) }}" class="mb-0" onsubmit="return confirm('Are you sure you want to delete this job? Related mails will be returned to the Inbox.');">
|
||||||
|
<button type="submit" class="btn btn-outline-danger">Delete job</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<h3 class="mt-4 mb-3">Job history</h3>
|
<h3 class="mt-4 mb-3">Job history</h3>
|
||||||
|
|||||||
@ -10,33 +10,21 @@
|
|||||||
<th scope="col">Backup</th>
|
<th scope="col">Backup</th>
|
||||||
<th scope="col">Type</th>
|
<th scope="col">Type</th>
|
||||||
<th scope="col">Job name</th>
|
<th scope="col">Job name</th>
|
||||||
{% if can_manage_jobs %}
|
|
||||||
<th scope="col" class="text-end">Actions</th>
|
|
||||||
{% endif %}
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% if jobs %}
|
{% if jobs %}
|
||||||
{% for j in jobs %}
|
{% for j in jobs %}
|
||||||
<tr>
|
<tr class="job-row" data-href="{{ url_for('main.job_detail', job_id=j.id) }}" style="cursor: pointer;">
|
||||||
<td>{{ j.customer_name }}</td>
|
<td>{{ j.customer_name }}</td>
|
||||||
<td>{{ j.backup_software }}</td>
|
<td>{{ j.backup_software }}</td>
|
||||||
<td>{{ j.backup_type }}</td>
|
<td>{{ j.backup_type }}</td>
|
||||||
<td>
|
<td>{{ j.job_name }}</td>
|
||||||
<a class="text-decoration-none" href="{{ url_for('main.job_detail', job_id=j.id) }}">{{ j.job_name }}</a>
|
|
||||||
</td>
|
|
||||||
{% if can_manage_jobs %}
|
|
||||||
<td class="text-end">
|
|
||||||
<form method="post" action="{{ url_for('main.archive_job', job_id=j.id) }}" style="display:inline;">
|
|
||||||
<button type="submit" class="btn btn-sm btn-outline-secondary">Archive</button>
|
|
||||||
</form>
|
|
||||||
</td>
|
|
||||||
{% endif %}
|
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="{% if can_manage_jobs %}5{% else %}4{% endif %}" class="text-center text-muted py-3">
|
<td colspan="4" class="text-center text-muted py-3">
|
||||||
No jobs found.
|
No jobs found.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -44,4 +32,24 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
function onRowClick(e) {
|
||||||
|
// Don't navigate when clicking interactive elements inside the row.
|
||||||
|
if (e.target.closest('a, button, input, select, textarea, label, form')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var href = this.getAttribute('data-href');
|
||||||
|
if (href) {
|
||||||
|
window.location.href = href;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelectorAll('tr.job-row[data-href]').forEach(function (row) {
|
||||||
|
row.addEventListener('click', onRowClick);
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@ -29,6 +29,14 @@
|
|||||||
- Introduced an Admin-only Archived Jobs page to view and restore archived jobs.
|
- Introduced an Admin-only Archived Jobs page to view and restore archived jobs.
|
||||||
- Archived job runs remain fully included in all reports and statistics to preserve historical accuracy.
|
- Archived job runs remain fully included in all reports and statistics to preserve historical accuracy.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## v20260106-05-jobs-row-click-and-archive-button-move
|
||||||
|
|
||||||
|
- Restored the original Jobs page behavior where clicking anywhere on a job row navigates to the Job Details page.
|
||||||
|
- Removed the Job name hyperlink from the Jobs table; navigation is now handled by row click again.
|
||||||
|
- Moved the Archive action from the Jobs table to the Job Details page.
|
||||||
|
- Placed the Archive button next to the existing Delete job button for better consistency.
|
||||||
|
|
||||||
================================================================================================================================================
|
================================================================================================================================================
|
||||||
## v0.1.16
|
## v0.1.16
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user