Erstzulassung war in der App nicht speicherbar

Einstellungen.tsx fuehrt fuer die Erstzulassung einen eigenen Entwurf neben
`entwurf`. Zwei Stellen kannten ihn nicht: speichern() stieg in der ersten
Zeile aus, und die Speicherleiste haengt allein an `entwurf` - wer nur die
Erstzulassung aenderte, bekam also gar keinen Speichern-Knopf zu sehen und
verlor den Wert beim Verlassen der Seite. Damit blieb auch die
Hauptuntersuchung leer, die daraus abgeleitet wird. Das Panel speichert an
dieser Stelle sofort und war nie betroffen.

Dazu:

* Platzhalter beider Felder war MM/JJJJ, obwohl ein voller Tag gemeint ist -
  jetzt TT.MM.JJJJ. Die Monatsform bleibt lesbar, damit gespeicherte Werte
  wie "08/2026" gueltig bleiben.
* Das Tagesmuster nimmt jetzt Punkt oder Bindestrich, in beiden Codebasen
  wortgleich. "01-03-2025" ergab vorher still nichts. Unmoegliche Daten
  werden weiterhin abgewiesen, die ISO-Form nicht verwechselt.

Geprueft am laufenden System ueber die ganze Kette: eintragen, speichern,
Profildatei, dann App-Service, Panel-Service und Panel-Mein-Audi mit
uebereinstimmend 15.06.2027. 299 Tests gruen, 0 Tracebacks.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 10:31:53 +02:00
parent ddcd9396b0
commit 44dcb3c9d9
8 changed files with 113 additions and 9 deletions
@@ -1 +1 @@
{"version":"2026.9.5.11","sha256":"66b5170e70ed6879bea70b44bebef30a04b6f0a7ea3d072bd32b7cc0c1c9e412","bytes":324454,"gebaut":"2026-09-05T00:34:25Z"}
{"version":"2026.9.5.12","sha256":"3c0199aa402d413145056a5d51be3ecadc038557ff3feb9af0da24df86702753","bytes":324476,"gebaut":"2026-09-05T08:29:16Z"}
@@ -710,7 +710,8 @@ function dat(s) {
den Ersten des Monats zu ZEIGEN waere eine Erfindung - deshalb die
Genauigkeit mitfuehren und in datumText() beruecksichtigen. */
const DATUM_ISO = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
const DATUM_TAG = /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/;
// Bindestrich ist mitgemeint - siehe DE_TAG in companion-app/src/format.ts.
const DATUM_TAG = /^(\d{1,2})[.\-](\d{1,2})[.\-](\d{4})$/;
const DATUM_MONAT = /^(\d{1,2})[./](\d{4})$/;
const DATUM_ISO_MONAT = /^(\d{4})-(\d{1,2})$/;
@@ -3579,7 +3580,7 @@ function vEinst() {
<div class="feld"><label for="einKennzeichen">Kennzeichen</label>
<input id="einKennzeichen" value="${esc(CONFIG.kennzeichen || "")}" data-einrichten="kennzeichen"></div>
<div class="feld"><label for="einErstzulassung">Erstzulassung</label>
<input id="einErstzulassung" value="${esc(CAR.erstzulassung || "")}" data-einrichten="erstzulassung" placeholder="MM/JJJJ"></div>
<input id="einErstzulassung" value="${esc(CAR.erstzulassung || "")}" data-einrichten="erstzulassung" placeholder="TT.MM.JJJJ"></div>
<div class="feld" style="border-bottom:0"><label for="einAusfuehrung">Ausführung</label>
<input id="einAusfuehrung" value="${esc(CONFIG.ausfuehrung || "")}" data-einrichten="ausfuehrung"></div>
<span class="label" style="margin-top:20px">Ölwechsel-Intervall</span>
@@ -1,7 +1,7 @@
{
"domain": "audi_dashboard",
"name": "Audi Dashboard",
"version": "2026.9.5.11",
"version": "2026.9.5.12",
"documentation": "https://gitea.nothaft.cloud/paul/audi-app/src/branch/main/README.md",
"issue_tracker": "https://gitea.nothaft.cloud/paul/audi-app/issues",
"codeowners": [