Initial Validation Suite V2 report engine

This commit is contained in:
Validation Suite 2026-07-10 19:13:07 +00:00
commit 2b5c765e41
79 changed files with 2072 additions and 0 deletions

1
app/templates/base.html Normal file
View file

@ -0,0 +1 @@
<!doctype html><html lang="de"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>{% block title %}Validation Suite V2{% endblock %}</title><link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"></head><body><div class="shell">{% if current_user.is_authenticated %}<aside><div class="brand"><b>VS</b><span>Validation Suite V2</span></div><nav><a href="{{ url_for('dashboard') }}">Dashboard</a></nav><form action="{{ url_for('logout') }}" method="post"><button>Abmelden</button></form></aside>{% endif %}<main class="{% if current_user.is_authenticated %}content{% else %}auth{% endif %}">{% with messages=get_flashed_messages(with_categories=true) %}{% for category,message in messages %}<div class="msg {{ category }}">{{ message }}</div>{% endfor %}{% endwith %}{% block content %}{% endblock %}</main></div></body></html>

View file

@ -0,0 +1 @@
{% extends "base.html" %}{% block content %}<header><div><small>V2 ARBEITSSTAND</small><h1>Validierungsberichte</h1><p>Die Demo-Validierung erzeugt bereits den vollständigen mehrseitigen Strukturbericht.</p></div></header><section class="grid">{% for v in validations %}<article class="card"><span class="badge">{{ v.status }}</span><h2>{{ v.report_number }}</h2><p><b>{{ v.customer.practice_name }}</b><br>{{ v.device.manufacturer }} {{ v.device.model }}<br>{{ v.test_date.strftime('%d.%m.%Y') }}</p><a class="primary button" href="{{ url_for('report', item_id=v.id) }}">V2-Prüfbericht herunterladen</a></article>{% endfor %}</section>{% endblock %}

1
app/templates/login.html Normal file
View file

@ -0,0 +1 @@
{% extends "base.html" %}{% block content %}<section class="card auth-card"><h1>Anmelden</h1><form method="post"><label>Benutzername<input name="username" required></label><label>Passwort<input type="password" name="password" required></label><button class="primary">Anmelden</button></form><a href="{{ url_for('register') }}">Registrieren</a></section>{% endblock %}

View file

@ -0,0 +1 @@
{% extends "base.html" %}{% block content %}<section class="card auth-card"><h1>Registrieren</h1><form method="post"><label>Benutzername<input name="username" required></label><label>Passwort<input type="password" name="password" required></label><label>Wiederholen<input type="password" name="password_repeat" required></label><button class="primary">Registrieren</button></form></section>{% endblock %}