Add admin-only case reset functionality
Introduce a new "reset" action for bulk operations and a dedicated endpoint for individual case resets. These features allow administrators to revert a case to its raw audio state by deleting derived artifacts like transcripts, analysis input, and documents. The functionality also includes renaming `.m4a.failed` files back to `.m4a` to re-trigger transcription. This commit also: - Adds a `reset_case_artefacts` helper function to `case_actions.rs`. - Implements the `handle_reset_case` endpoint. - Adds the "Reset" button to the UI for administrators. - Includes unit and integration tests to verify the new functionality and access control.
This commit is contained in:
@@ -50,6 +50,9 @@ header form { margin: 0; }
|
||||
{% else if llm_missing && !has_document %}
|
||||
<span class="llm-missing">LLM-Analyse nicht konfiguriert</span>
|
||||
{% endif %}
|
||||
{% if is_admin %}
|
||||
<form method="post" action="/web/cases/{{ case_id }}/reset" style="display:inline"><button type="submit">Reset</button></form>
|
||||
{% endif %}
|
||||
<form method="post" action="/web/cases/{{ case_id }}/delete" style="margin-left:auto;display:inline"><button type="submit">Entfernen</button></form>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -75,6 +75,7 @@ section h2 { font-size: 1.1em; color: #555; border-bottom: 1px solid #ddd; paddi
|
||||
</div>
|
||||
<div class="actions">
|
||||
<button type="submit" formaction="/web/cases/{{ case.case_id }}/analyze"{% if !case.can_analyze %} disabled{% endif %}>{% if case.has_document %}Neu analysieren{% else %}Analysieren{% endif %}</button>
|
||||
{% if is_admin %}<button type="submit" formaction="/web/cases/{{ case.case_id }}/reset">Reset</button>{% endif %}
|
||||
<button type="submit" formaction="/web/cases/{{ case.case_id }}/delete">Entfernen</button>
|
||||
</div>
|
||||
</li>
|
||||
@@ -85,6 +86,7 @@ section h2 { font-size: 1.1em; color: #555; border-bottom: 1px solid #ddd; paddi
|
||||
<div class="bulk-bar">
|
||||
<span>Auswahl:</span>
|
||||
<button type="submit" name="action" value="analyze">Analysieren</button>
|
||||
{% if is_admin %}<button type="submit" name="action" value="reset">Reset</button>{% endif %}
|
||||
<button type="submit" name="action" value="delete">Entfernen</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user