Fotos: Gesichtssuche FH-weit (Studierende + Lektoren) als Job mit Live-Progress, Person-Info-Seiten, Scope-Auswahl

This commit is contained in:
Nicolas Gruber
2026-10-19 14:43:09 +02:00
parent 567bcb40ee
commit 6763faf9c1
7 changed files with 405 additions and 72 deletions
+14 -2
View File
@@ -49,7 +49,7 @@
<div class="avatar-initials">{{ (p.nachname[:1] ~ p.vorname[:1]) | upper }}</div>
{% endif %}
</div>
<div class="photo-name">{{ p.nachname }}{% if p.vorname %}, {{ p.vorname }}{% endif %}</div>
<div class="photo-name"><a href="/person/{{ p.matrikel }}">{{ p.nachname }}{% if p.vorname %}, {{ p.vorname }}{% endif %}</a></div>
{% if p.matrikel == own_uid %}<div class="photo-own">Das bist du</div>{% endif %}
</div>
{% else %}
@@ -60,11 +60,23 @@
<div class="card">
<h2>Gesichtssuche</h2>
<p class="hint">Foto von dir hochladen - die App findet die passenden Profile in diesem Verband.</p>
<p class="hint">Foto hochladen - die App vergleicht es mit den Profilfotos im gewählten Suchbereich.
Beim ersten Mal für große Bereiche (z.B. FH-weit) kann die Suche etwas dauern;
die Ergebnisse erscheinen live, während sie berechnet werden.</p>
<form class="form-row form-stack" method="post" action="/fotos/suche" enctype="multipart/form-data">
<input type="hidden" name="kz" value="{{ kz }}">
<input type="hidden" name="sem" value="{{ sem }}">
<input type="hidden" name="ver" value="{{ ver }}">
<div class="field">
<label>Suchbereich</label>
<select name="scope">
<option value="verband">Nur Verband {{ ver }} (Sem. {{ sem }})</option>
<option value="stg">Gesamter Studiengang (alle Semester + Verbände)</option>
<option value="stud">Alle Studierenden (FH-weit)</option>
<option value="lektor">Alle Lektoren</option>
<option value="alle">Alle Personen (Studierende + Lektoren)</option>
</select>
</div>
<div class="field">
<label>Foto</label>
<input type="file" name="file" accept="image/*" required>