Compare commits
No commits in common. "a600a7ad3353cd9ca204bd7e3a164ecb42764ab6" and "b5183f23f05f0af0bb47bdff04f03d05ef978a81" have entirely different histories.
a600a7ad33
...
b5183f23f0
@ -1 +1 @@
|
|||||||
v20260106-05-jobs-row-click-and-archive-button-move
|
v20260106-04-jobs-archive
|
||||||
|
|||||||
@ -48,15 +48,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if can_manage_jobs %}
|
{% if can_manage_jobs %}
|
||||||
<div class="d-flex flex-wrap gap-2 mb-3">
|
<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.');">
|
||||||
<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.');">
|
<button type="submit" class="btn btn-outline-danger">Delete job</button>
|
||||||
<button type="submit" class="btn btn-outline-secondary">Archive</button>
|
</form>
|
||||||
</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,21 +10,33 @@
|
|||||||
<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 class="job-row" data-href="{{ url_for('main.job_detail', job_id=j.id) }}" style="cursor: pointer;">
|
<tr>
|
||||||
<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>{{ j.job_name }}</td>
|
<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="4" class="text-center text-muted py-3">
|
<td colspan="{% if can_manage_jobs %}5{% else %}4{% endif %}" class="text-center text-muted py-3">
|
||||||
No jobs found.
|
No jobs found.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -32,24 +44,4 @@
|
|||||||
</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,14 +29,6 @@
|
|||||||
- 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