optimize ui
add new ki endpoint params
This commit is contained in:
@@ -4,14 +4,22 @@
|
||||
|
||||
{% block body %}
|
||||
|
||||
<a href="{{ path('admin_documents') }}" class="btn btn-sm btn-outline-light mb-3">
|
||||
← Zurück
|
||||
</a>
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h1 class="h3 mb-0">{{ document.title }}</h1>
|
||||
|
||||
<a href="{{ path('admin_documents') }}"
|
||||
class="btn btn-sm btn-outline-secondary">
|
||||
Zurück zur Übersicht
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{% if document %}
|
||||
<h1 class="h4 mb-3">{{ document.title }}</h1>
|
||||
|
||||
<div class="card bg-black text-info border-secondary mb-4">
|
||||
{# ============================= #}
|
||||
{# Dokument-Meta #}
|
||||
{# ============================= #}
|
||||
|
||||
<div class="card bg-black border-secondary mb-5 text-light">
|
||||
<div class="card-body">
|
||||
|
||||
<div class="mb-2">
|
||||
@@ -25,7 +33,7 @@
|
||||
|
||||
<div class="mb-2">
|
||||
<strong>Erstellt von:</strong>
|
||||
{{ document.createdBy.email }}
|
||||
{{ document.createdBy ? document.createdBy.email : '-' }}
|
||||
</div>
|
||||
|
||||
<div class="mb-2">
|
||||
@@ -36,7 +44,9 @@
|
||||
<div class="mb-2">
|
||||
<strong>Aktive Version:</strong>
|
||||
{% if document.currentVersion %}
|
||||
v{{ document.currentVersion.versionNumber }}
|
||||
<span class="badge bg-info text-dark">
|
||||
v{{ document.currentVersion.versionNumber }}
|
||||
</span>
|
||||
{% else %}
|
||||
-
|
||||
{% endif %}
|
||||
@@ -45,43 +55,65 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="h5 mb-3">Versionen</h2>
|
||||
<a href="{{ path('admin_document_version_new', {id: document.id}) }}"
|
||||
class="btn btn-sm btn-light mb-3">
|
||||
+ Neue Version
|
||||
</a>
|
||||
{# ============================= #}
|
||||
{# Versionen #}
|
||||
{# ============================= #}
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h2 class="h5 mb-0">Versionen</h2>
|
||||
|
||||
{% if is_granted('ROLE_SUPER_ADMIN') %}
|
||||
<a href="{{ path('admin_document_version_new', {id: document.id}) }}"
|
||||
class="btn btn-sm btn-outline-info">
|
||||
Neue Version
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if document.versions is empty %}
|
||||
|
||||
<div class="alert alert-secondary">
|
||||
Keine Versionen vorhanden.
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
<div class="card bg-black text-info border-secondary">
|
||||
|
||||
<div class="card bg-black border-secondary">
|
||||
<div class="card-body p-0">
|
||||
<table class="table table-dark table-hover mb-0">
|
||||
<thead>
|
||||
|
||||
<table class="table table-dark table-striped table-hover align-middle mb-0">
|
||||
<thead class="table-secondary text-dark">
|
||||
<tr>
|
||||
<th>Version</th>
|
||||
<th>Aktiv</th>
|
||||
<th>Status</th>
|
||||
<th>Ingest</th>
|
||||
<th>Checksum</th>
|
||||
<th>Erstellt von</th>
|
||||
<th>Datum</th>
|
||||
<th>Aktion</th>
|
||||
<th class="text-end">Aktionen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for version in document.versions %}
|
||||
<tr>
|
||||
<td>v{{ version.versionNumber }}</td>
|
||||
|
||||
{% for version in document.versions %}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<strong>v{{ version.versionNumber }}</strong>
|
||||
</td>
|
||||
|
||||
{# Aktivstatus #}
|
||||
<td>
|
||||
{% if version.isActive %}
|
||||
<span class="badge bg-success">Ja</span>
|
||||
<span class="badge bg-success">Aktiv</span>
|
||||
{% else %}
|
||||
<span class="badge bg-secondary">Nein</span>
|
||||
<span class="badge bg-dark border border-secondary">
|
||||
Inaktiv
|
||||
</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
{# Ingest Status #}
|
||||
<td>
|
||||
{% if version.ingestStatus == 'INDEXED' %}
|
||||
<span class="badge bg-success">INDEXED</span>
|
||||
@@ -89,69 +121,103 @@
|
||||
<span class="badge bg-warning text-dark">RUNNING</span>
|
||||
{% elseif version.ingestStatus == 'FAILED' %}
|
||||
<span class="badge bg-danger">FAILED</span>
|
||||
{% else %}
|
||||
{% elseif version.ingestStatus == 'PENDING' %}
|
||||
<span class="badge bg-secondary">PENDING</span>
|
||||
{% else %}
|
||||
<span class="badge bg-dark border border-secondary">
|
||||
{{ version.ingestStatus }}
|
||||
</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{{ version.checksum[:10] }}...
|
||||
{# Checksum #}
|
||||
<td class="small text-secondary">
|
||||
{{ version.checksum ? version.checksum[:10] ~ '…' : '-' }}
|
||||
</td>
|
||||
|
||||
{# Created by #}
|
||||
<td>
|
||||
{{ version.createdBy.email }}
|
||||
{{ version.createdBy ? version.createdBy.email : '-' }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{# Date #}
|
||||
<td class="small">
|
||||
{{ version.createdAt|date('d.m.Y H:i') }}
|
||||
</td>
|
||||
<td>
|
||||
|
||||
{# Aktionen #}
|
||||
<td class="text-end">
|
||||
|
||||
{% if version.isActive %}
|
||||
|
||||
{# Optional: manuelles Re-Ingest nur bei PENDING/FAILED #}
|
||||
{% if version.ingestStatus in ['PENDING', 'FAILED'] %}
|
||||
{% if version.ingestStatus in ['PENDING', 'FAILED'] and is_granted('ROLE_SUPER_ADMIN') %}
|
||||
|
||||
<form method="post"
|
||||
action="{{ path('admin_document_version_ingest', {versionId: version.id}) }}"
|
||||
style="display:inline;">
|
||||
<input type="hidden" name="_token"
|
||||
value="{{ csrf_token('ingest_version') }}">
|
||||
class="d-inline"
|
||||
onsubmit="return confirm('Ingest erneut starten?');">
|
||||
|
||||
<input type="hidden"
|
||||
name="_token"
|
||||
value="{{ csrf_token('ingest_version_' ~ version.id) }}">
|
||||
|
||||
<button class="btn btn-sm btn-outline-info">
|
||||
Ingest starten
|
||||
</button>
|
||||
</form>
|
||||
|
||||
{% else %}
|
||||
<span class="text-success">Ingested</span>
|
||||
<span class="text-success small">
|
||||
Bereits indexiert
|
||||
</span>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<form method="post"
|
||||
action="{{ path('admin_document_version_activate', {versionId: version.id}) }}"
|
||||
style="display:inline;">
|
||||
<input type="hidden" name="_token"
|
||||
value="{{ csrf_token('activate_version') }}">
|
||||
<button class="btn btn-sm btn-outline-light">
|
||||
Aktivieren
|
||||
</button>
|
||||
</form>
|
||||
|
||||
{% if is_granted('ROLE_SUPER_ADMIN') %}
|
||||
<form method="post"
|
||||
action="{{ path('admin_document_version_activate', {versionId: version.id}) }}"
|
||||
class="d-inline"
|
||||
onsubmit="return confirm('Diese Version aktivieren? Es wird ein Re-Ingest ausgelöst.');">
|
||||
|
||||
<input type="hidden"
|
||||
name="_token"
|
||||
value="{{ csrf_token('activate_version_' ~ version.id) }}">
|
||||
|
||||
<button class="btn btn-sm btn-outline-light">
|
||||
Aktivieren
|
||||
</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
<div class="mt-4 small text-secondary">
|
||||
Hinweis: Beim Aktivieren einer Version wird automatisch ein Re-Ingest
|
||||
durchgeführt. Der NDJSON-Index und der FAISS-Index werden deterministisch
|
||||
neu aufgebaut.
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
<h1 class="h4 mb-3">Ein Fehler trat auf</h1>
|
||||
<h2 class="h5 mb-3">Fehler:</h2>
|
||||
{% for message in app.flashes('danger') %}
|
||||
<div class="alert alert-danger">
|
||||
{{ message }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<div class="alert alert-danger">
|
||||
Dokument nicht gefunden.
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user