Commit Graph

45 Commits

Author SHA1 Message Date
s4luorth
a01da17221 Auftragsname (Zusatz) + Signatur-Abstand-Feld im Neuauftrag
- orders.order_name (optionaler Auftragsname); im Neuauftrag setzbar, auf der
  Board-Karte als Eyebrow ueber dem Namen angezeigt; in manual-order gespeichert.
- Neuauftrag: Signatur-Feld "Abstand (mm)" (leer = Standard halber Zeilenabstand),
  via signature_offsets.spacing durchgereicht.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-01 10:36:12 +02:00
s4luorth
bbbc637a81 C4-Kuvert NUR im Neuauftrag-Formular waehlbar
- neuauftrag: neues Dropdown "Kuvertformat" (Automatisch/DIN Lang/C6/C4 quer),
  envelope_format an Preview + manual-order durchgereicht.
- orders /preview: honoriert body.envelope_format (statt hart A4->DIN/A6->C6),
  ENVELOPE_TPL/ENV_LABEL um c4 (Template-Aufloesung, kein Selektor).
- produktion: C4-Option + Absenderfeld im Muster-Popup wieder entfernt
  (C4 gibt es ausschliesslich im Neuauftrag).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-30 12:07:07 +02:00
s4luorth
30f39af361 C4-Drucktemplate anlegen + Textmengencheck ohne Limit
- format_templates: kuvert_c4_v1 (+ A5/DIN-lang) werden per Nachruest-Schritt
  auch auf bestehenden Installationen angelegt (nur wenn Key fehlt); neue
  Templates tragen default_format (auto-Zuordnung im manuellen Druck).
- orders /preview: check:true umgeht Kennung + Kontingent (Textmengencheck),
  liefert aber die SVGs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-30 11:50:37 +02:00
s4luorth
e57c4aa8af C4-Kuvert im manuellen Druck (Absender-Freitext, quer)
- render_formats c4 (324x229, umschlag) + format_template kuvert_c4_v1 (quer)
  + envelope_format-Dropdown um c4 erweitert.
- produktion: Kuvert-Format-Dropdown im manuellen Druck um C4 (quer) + neues
  Absender-Freitextfeld (max. 5 Zeilen); Empfaenger weiter aus der Tabelle.
  ENVELOPE_TPL/ENV_LABEL um c4.
- orders /manual-print: envelope_format c4 gemappt, envelope_sender an das
  Backend (metadata.envelopeSender) durchgereicht.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-30 11:31:39 +02:00
s4luorth
870295e012 Fix: SKRIFT_VERSAND_TOKEN in Directus-Container durchreichen + FTP-Fehler voll ausgeben
- docker-compose.yml (directus): SKRIFT_VERSAND_TOKEN: ${SKRIFT_VERSAND_TOKEN}
  ergaenzt. Ohne diese Zeile landete der .env-Wert nie im Container -> die
  Versand-Seite blieb 404.
- Board FTP-Upload: gesamten Fehler ausgeben (nicht gekuerzt), leere Auswahl
  klar melden, 90s-Timeout gegen Haengen, console-Log. Proxy /batch-build
  kuerzt den Fehler nicht mehr auf 300 Zeichen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-28 10:39:43 +02:00
s4luorth
1f98aa4196 Batch-Uebernahme: Auftraege wie API-Auftraege unter einer Charge gruppieren
Uebernommene Uebermittlungen bekommen api_client gesetzt und werden im
Board (renderGruppiert) wie API-Auftraege als Charge gruppiert (bildeChargen:
Kunde+Produkt+Tag). Quelle bleibt 'operator' (keine Kundenmail). So liegen
alle uebernommenen Auftraege eines Zugangs/Tages unter einer Charge und
lassen sich dort wie gewohnt sammeldrucken.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-28 10:31:58 +02:00
s4luorth
c6c682d48f Batch-Reiter: FTP-Upload (primär) zurück, Tag+Kunde-Gruppen aufklappbar
- "Per FTP hochladen" als Primär-Aktion (wirkt auf Auswahl, ids an
  /skrift-orders/batch-build -> Backend), "In Produktion übernehmen"
  sekundär; dazu Versendet/Nicht versendet/Löschen.
- Gruppierung Tag → Kunde, beide aufklappbar, Gruppen-Kopf mit Haken
  (wählt alle in der Gruppe).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-28 10:24:10 +02:00
s4luorth
208d398034 Batch-Reiter Umbau: Uebernahme in Produktion, Tag-Gruppen, Auswahl, Versendet, Loeschen
Uebermittlungen-Reiter neu: nach Tag gruppiert, Mehrfachauswahl (Strg/
Shift, board-weit auch fuer Auftragskarten). Aktionen auf Auswahl:
- "In Produktion uebernehmen" -> neuer /skrift-orders/batch-uebernehmen:
  PDF -> Datei-Auftrag (PDF = Druckdatei), Text -> Handschrift-Brief
  (Text + 5-Zeilen-Adresse), Kuvert mit Empfaenger; Status uebernommen;
  Generierung angestossen. Danach in "Neu" (dort wie bisher buendeln).
- "Versendet" / "Nicht versendet" (neues Feld batch_submissions.versendet).
- "Loeschen" (mit Rueckfrage).
FTP-"Jetzt buendeln"-Knopf entfernt (FTP-Weg entfaellt). Bootstrap:
Status 'uebernommen' + Feld versendet.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-28 10:15:18 +02:00
s4luorth
8ad087d007 Batch-Uebermittlung (Phase 3): Board-Reiter + Buendeln-Knopf + Schreibvorlage
Produktions-Board: neuer Reiter "Uebermittlungen" (getrennt vom
Auftragsboard). Offene batch_submissions je Zugang gruppiert; Knopf
"Jetzt buendeln & hochladen" pro Zugang loest die Backend-Buendelung
(xlsx + Sammel-PDF + FTP) sofort aus. Text-Uebermittlungen bekommen einen
"Schreibvorlage"-Knopf, der Text + 5-Zeilen-Adressblock (Firma / Vorname
Nachname / Zeile1-3 / PLZ Stadt / Land, max 5) in den manuellen Druck
uebernimmt. skrift-orders: Proxy-Route /batch-build -> Backend.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-28 09:23:40 +02:00
s4luorth
541483217d A6 quer rollenschonend: Zeichen fuer Zeichen (1), nicht in Bloecken
Default proReihe/group auf 1 gesenkt: bei aktivem rollenschonendem Druck
wird streng spaltenweise ein Zeichen nach dem anderen geschrieben (ein
Zeichen, Zeile tiefer, dann naechste Spalte), damit die Rolle minimal
faehrt. Weiterhin ueber ?group=N uebersteuerbar.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-25 08:52:52 +02:00
s4luorth
73e7a878f1 A6 quer: Bahnbreite auf 2 Zeichen je Reihe
Default proReihe/group von 5 auf 2 gesenkt. Weiterhin über ?group=N
uebersteuerbar.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-24 12:21:11 +02:00
s4luorth
aaa97edc16 A6 quer: Bahnbreite auf 5 Zeichen je Reihe
Default proReihe/group von 10 auf 5 gesenkt (kleinere Bahnen → noch
weniger Rollenweg). Weiterhin über ?group=N übersteuerbar.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-24 11:00:46 +02:00
s4luorth
45e69c0c3a A6 quer: spaltenweise in ~10er-Bahnen statt pro Zeichen
Statt jede Glyphe einzeln umzusortieren (Rolle rückt pro Zeichen), wird
jetzt in senkrechten Bahnen von ~10 Zeichen Breite gearbeitet: je Zeile
~10 Zeichen als Reihe, dann eine Zeile tiefer in derselben Bahn, erst
danach die nächste Bahn. Rolle spult höchstens eine Bahnbreite zurück,
10er-Blöcke bleiben zusammen (natürlicher, schneller). Zeichenbreite wird
aus dem SVG geschätzt; Bahnbreite über ?group=N einstellbar (Default 10).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-24 10:22:10 +02:00
s4luorth
08e12180b6 A6 quer: rollenschonender Druck (spaltenweise Zeichenreihenfolge)
Checkbox „Rollenschonend drucken" im Druck-Popup (nur bei A6). Setzt am
Job das Feld spaltenweise. Der Agent lädt das Schriftstück-SVG dann über
den Download-Endpunkt mit ?reorder=column: die Glyph-<path>-Elemente
werden nach x (Spalte) und y (oben→unten) permutiert – Signatur-<g>,
Hintergrund und Trennstrich bleiben unangetastet. Sichtbares Ergebnis
identisch, aber der rollengeführte Plotter fährt monoton in Vorschub-
richtung statt je Zeile die Rolle zurückzuspulen. Nur Schriftstücke,
nicht Kuverts.

Neues Job-Feld jobs.spaltenweise (Bootstrap).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-24 09:09:37 +02:00
s4luorth
a364f07035 Produktion: Suche-Reiter + Sammel-Druck mit editierbaren Maßen
Suche-Reiter (ganz oben, vor Neu): großes Suchfeld über alle aktiven
Stufen (Neu, Warteschlange, Im Druck, Kuvertierung, Versandfertig),
empfängergenau – Einzelaufträge zeigen den Namen, Mehrfachaufträge den
Empfänger an der richtigen Briefnummer. Über dem Feld ein Typ-Umschalter
(Schriftstück / Kuvert / Druckobjekte) mit je eigenem, im Reiter
einstellbarem Standard-Template + Maschine (lokal gespeichert). Der
Druck-Button gibt genau diesen Empfänger mit dem Standard-Template in die
Warteschlange; Druckobjekte öffnet die Dateien zum Herunterladen.

Sammel-Druck (Mass-Select): pro Format nicht nur Template + Maschine,
sondern auch Maße/Position (Breite, Höhe, X, Y, Scale, Rotation)
editierbar – übersteuert die Template-Werte wie beim Einzeldruck
(enqueue-bulk reicht die params jetzt an die Jobs durch).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-21 17:07:44 +02:00
s4luorth
2c075f9fb5 Anfragen-Team-Mails: vollständiger Inhalt (alle Felder)
Muster- und Angebotsanfragen (App sample/offer-request + WordPress inbound) senden
jetzt den kompletten Inhalt als Feld-Tabelle (Name, Kontakt, Adresse, Produkt,
Menge, Nachricht/Vorhaben) – bei WordPress zusätzlich alle weiteren übermittelten
Formularfelder.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-18 12:02:45 +02:00
s4luorth
f4ce602b7a Motiv-Entwurf eingepasst (meet, in Trim-Fläche) + sevDesk-Diagnose-Logs
- Motiv-A6-Layout: Motiv vollständig in 148×105 eingepasst (meet, mittig) auf
  weißem A6-Grund statt randabfallend beschnitten (slice).
- skrift-sevdesk: Lade-Log (Token gesetzt/fehlt) + Logs je Auftrag (source-Gate,
  bereits erstellt) zur Diagnose, warum ggf. nichts erzeugt wird.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-18 11:48:09 +02:00
s4luorth
881ff8a27b Motiv-Freigabe: A6-Entwurf erzeugen + Kundenfreigabe (Backend/Board)
- skrift-orders: bei Konfigurator-Bestellung mit Motiv-Upload wird ein A6-
  Drucklayout (152×109 mm, 2 mm Beschnitt, Motiv mittig/randabfallend) erzeugt
  und als orders.motif_layout abgelegt; approval_status='pending' + Token gesetzt;
  Freigabe-Mail (motiv_freigabe) mit Einmal-Link verschickt. Öffentliche
  Endpunkte /freigabe/:token (Info), /:token/layout (SVG), POST (freigeben/ändern).
- bootstrap: orders.approval_status/approval_token/approval_note/motif_layout,
  users.sevdesk_contact_id (bereits), Mailvorlage motiv_freigabe.
- Produktion: Chip „wartet auf Freigabe / freigegeben / Änderungswunsch".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-18 08:05:39 +02:00
s4luorth
0f73a653b3 sevDesk: automatische Rechnung (Entwurf) bei Konfigurator-Bestellung
- Neue Hook-Extension skrift-sevdesk: legt bei orders.items.create (source=
  configurator) eine sevDesk-Rechnung als ENTWURF an – Kontakt wird angelegt/
  wiederverwendet (sevdesk_contact_id am Konto), Positionen aus price_lines
  (Produkt mit Menge; Versand/Motiv/Zusatz je eigene Position), 19% USt.
  Nicht-blockierend, per SEVDESK_API_TOKEN aktiviert; Versand NICHT über sevDesk.
- orders.price_lines (JSON) speichert die Positionsaufstellung bei Bestellung
  (Konfigurator + manueller Auftrag).
- bootstrap: orders.price_lines/sevdesk_invoice_id/sevdesk_invoice_number,
  directus_users.sevdesk_contact_id.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-18 07:44:28 +02:00
s4luorth
67e7835214 inbound-Log v2: gefüllte Felder anzeigen (Diagnose vorname/ort)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 21:55:14 +02:00
s4luorth
3ebe05c954 inbound/muster (WordPress): Vorname/Nachname & Ort korrekt mappen
Der WP-Webhook schickt vorname + name(=Nachname) getrennt und die Stadt als „ort".
Bisher wurde nur body.name als kompletter Name genommen (nur Nachname), city aus
body.city gelesen (leer) und kein first_name/last_name gespeichert – daher stand
beim Übernehmen der Nachname im Vornamen und Ort blieb leer.

- Anzeigename = vorname + name; address bekommt first_name/last_name.
- Stadt aus „ort" (Aliase stadt/city), plus robuste Feld-Aliase via feldWert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 21:52:09 +02:00
s4luorth
ba9c073bb9 WP-Feld-Mapping robuster + Logging; Muster ohne Direktdruck; Kontakte-Fixes
- skrift-orders: sample-/offer-request nehmen viele Feldnamen-Varianten an
  (feldWert-Helfer) und loggen eingehende + gefüllte Feldnamen zur Diagnose.
- skrift-produktion: „Direkt drucken" bei Musteranfragen entfernt (nur noch
  „In manuellen Druck übernehmen").
- skrift-kontakte: Bulk-Status-Dropdown lesbar (weiße Schrift auf weiß behoben);
  Shift-Klick wählt den ganzen Bereich zwischen zwei Checkboxen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 21:43:28 +02:00
s4luorth
4d811c1f0b Vorschau ohne Brieftext erlauben, wenn Kuverts gewünscht (nur Kuvert-Vorschau)
- /preview: leerer Text ist erlaubt, wenn envelope_labeling != 'keine' → nur die
  Kuverts werden erzeugt.
- Postkarte in der Vorschau nur bei vorhandenem Brieftext erzeugen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 21:32:43 +02:00
s4luorth
e86fb476fa Muster-/Angebot-Endpunkte: WordPress-Feldnamen als Aliase akzeptieren
vorname→first_name, name→last_name, telefon→phone, zipcode→zip, ort→city,
produkt_interesse→product. App-Feldnamen behalten Vorrang. So kann ein
WordPress-Formular direkt Muster-/Angebotsanfragen anlegen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 21:28:10 +02:00
s4luorth
2b733d49d6 Muster/Angebot: Vor-/Nachname aus dem Formular übernehmen
sample-request und offer-request akzeptieren first_name/last_name, bilden daraus
den Anzeigenamen und legen sie in address ab (für Kuvert/Platzhalter im Muster-
Workflow). „name" bleibt als Fallback.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 21:15:49 +02:00
s4luorth
54de08448a Muster-Workflow: Mustertext wählen, Adresse aufs Kuvert, Platzhalter füllen
- Produktion-Muster-Dialog: benannten Mustertext (muster_texts) wählen; Platzhalter
  ([[Vorname]]/[[Nachname]]/[[Ort]]/[[Strasse]]/[[PLZ]]/[[Land]]) aus der Anfrage-
  Adresse automatisch füllen; Text vor dem Anlegen bearbeitbar; „Adresse aufs
  Kuvert" (Standard an) mit Format/Template-Wahl.
- manual-print: erzeugt optional zusätzlich ein Kuvert (Umschlag-Job) mit der Adresse.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 21:11:08 +02:00
s4luorth
365158c43b Manueller Druck: Textvorlage überschreibt Inhalt; Zeile1–5 als Platzhalter
- Mustertext-Auswahl ersetzt den bisherigen Brieftext (statt anzuhängen).
- Vorschau: [[Zeile1]]..[[Zeile5]] aus den 5 Adresszeilen verfügbar; Tipp im UI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 20:55:32 +02:00
s4luorth
4aa3fd04e6 Statistik-Modul, Kontakt-Bulk, Notiz-Fix, Ausland-Erkennung, Weiteres-Kontakt
- Neues Modul „Statistik": versendete Briefe je Kunde/Monat, getrennt Inland/
  Ausland, Zeilen aufklappbar (Auftragsliste), mit Suche. Raus aus dem Board.
- Produktion: Auto-Refresh pausiert, während ein Feld bearbeitet wird (Notizen
  gingen sonst beim 15-s-Reload/Statuswechsel verloren). „Neu generieren“/
  „In manuellen Druck“ aus dem Empfänger-Dialog entfernt (liegen unter Weiteres).
  Unter Weiteres jetzt auch Kontakt/Kunde verknüpfen (per E-Mail) und mit × lösen
  – ohne Kundenmail.
- Ausland-Erkennung (zielInland) mit Wortgrenzen (\b) + unbekannter Ländertext →
  Inland: „Schweizer Straße“, „Neusass“, „Polenz“ werden nicht mehr als Ausland
  geflaggt (orders + produktion).
- Kontakte-Modul: Mehrfachauswahl → Status ändern / löschen.
- contacts-Hook: Abwahl von „In Kontakte speichern“ löscht die Kontakte wieder.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 14:16:07 +02:00
s4luorth
6ccd4f3c53 Postkarten-Format (nur manueller Druck): Text links, Adresse rechts
- bootstrap: render_formats a6_postkarte + dinlang_postkarte (kind 'postkarte'),
  passende formats-Einträge (active=false → nicht in der App, nur manueller Druck),
  kind-Dropdown um 'postkarte' erweitert.
- skrift-orders: Vorschau erkennt Postkarten (render_formats.kind) und baut EIN
  Dokument mit Text + Absender + Empfänger (Marker [[pk_abs]]/[[pk_adr]]).
- neuauftrag: Postkarten-Formate erkannt; Absenderfeld direkt (unabhängig von
  Kuverts), Kuvert-Optionen ausgeblendet, Hinweis aufs Kartenlayout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 13:58:28 +02:00
s4luorth
08fe21a158 Format-Templates nicht mehr re-seeden, Signatur-Kuverts entfernt, Weiteres-Menü
- bootstrap: format_templates nur bei LEERER Collection anlegen (Betreiber
  pflegt sie selbst; kein Wieder-Anlegen bei jedem Bootstrap).
- Unterschriftenservice: Inline-Kuverts ("Kuverts mitdrucken") + Verknüpfen im
  Signatur-Tab wieder entfernt; signature-order auf Seiten-only zurückgesetzt.
- Produktion: Verknüpfen, In Kontakte speichern, Neu generieren und In manuellen
  Druck übernehmen hinter "Weiteres"-Button gebündelt; Notiz bleibt vorne.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 08:44:21 +02:00
s4luorth
ae7ef2422e Statistik-Tab, Unterschriftenservice-Kuverts, Auftragsverknüpfung & Notizen
- Produktion: Statistik-Tab (versendete Briefe je Kunde/Monat), verknüpfter
  Auftrag je Karte anzeigen/ändern/entfernen, Datei-Aufträge werden beim
  Übernehmen wieder in den Signatur-Tab überführt.
- Unterschriftenservice (neuauftrag): optionale Kuverts (je Empfänger ein
  Umschlag, Absender möglich) und Verknüpfung mit vorhandenem Auftrag.
- orders: signature-order erzeugt Kuverts über die Standard-Pipeline
  (Datei-Produkt -> nur Umschläge, Seiten bleiben erhalten) und speichert
  linked_order; nachträgliches Verknüpfen im Board.
- bootstrap: orders.linked_order (Self-Relation).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 08:27:44 +02:00
s4luorth
be1669a44f manual-order: fehlenden Kunden automatisch anlegen (Login-Konto per E-Mail)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 07:58:57 +02:00
s4luorth
63611ba92e Manueller Druck: nur Kuverts ohne Brieftext (Vorschau erlaubt, leeres Schriftstueck uebersprungen)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 07:52:43 +02:00
s4luorth
de612b713f Produktion+neuauftrag: Neu generieren, Einzelfelder, Formate je Produkt + getrennt aktivierbar
- orders: /regenerate (Schriftstueck+Kuvert neu generieren).
- produktion: 'Neu generieren'-Button im Empfaenger-Dialog + Massenauswahl.
- neuauftrag: Adressmodus 'Einzelfelder' (Vorname..Land) inkl. Excel-Import; Formate
  nach gewaehltem Produkt gefiltert + nur show_manual.
- bootstrap: formats.show_manual (getrennt von active=Konfigurator).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-07 07:22:19 +02:00
s4luorth
1b2541e307 Kundenangebote (customer_offers) + Absender-Uebernahme-Fix
- Bootstrap: Collection customer_offers (Kunde+Produkt, Name-Zusatz, Aufschlaege/Stueck,
  mehrseitig erlauben, Notiz) + Order-Felder customer_offer/product_name_suffix.
- orders: calculatePrice addiert Angebots-Aufschlaege (serverseitig geprueft),
  Endpunkt /my-offers, POST / speichert Angebot + Name-Zusatz.
- produktion: 'In manuellen Druck uebernehmen' traegt jetzt auch Kuvert-Absender + Groesse mit.
- neuauftrag: uebernimmt Absender-Felder aus dem Auftrag.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 12:10:28 +02:00
s4luorth
a44515de89 neuauftrag: Kuverts-Haken default an, extra Haken 'Absender aufs Kuvert' + Absender-Groesse (%); envelope_sender_scale gespeichert/durchgereicht; bootstrap-Feld
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 11:04:29 +02:00
s4luorth
b76e01d10a Revert Backend-Laender-Split: Auftrag bleibt einer (Trennung nur als Anzeige in Directus geplant)
zielInland()-Erkennung bleibt fuer count_inland/count_ausland und die kommende
Anzeige-/Druck-Trennung im Produktions-Board. Kein zweiter Auftragsdatensatz mehr.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 10:35:10 +02:00
s4luorth
2b575fa540 Laender-Split (manuelle Auftraege): DE/INT getrennt anlegen
zielInland()-Erkennung (Land/Freitext/D-PLZ). manual-order: bei gemischten Empfaengern
zwei Auftraege mit Suffix -DE / -INT (Empfaenger aufgeteilt), Generierung je Auftrag ->
Schriftstuecke UND Kuverts je Zielgebiet getrennt. Einzelland unveraendert (kein Suffix).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 10:31:23 +02:00
s4luorth
ca0b3a845a skrift-orders: oeffentlicher Upload-Proxy /upload (FilesService, Base64) fuer Motiv-/Quelldatei-Upload durch Gaeste
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-03 10:14:28 +02:00
s4luorth
46b5155c27 Kuvert-Absender (Feld direkt sichtbar), Textmengen-/Session-Aenderungen
- neuauftrag: Absenderfeld fuers Kuvert IMMER sichtbar (nicht mehr an 'Kuverts
  generieren' gebunden), Payloads (Vorschau + Anlage) reichen envelope_sender durch.
- orders: manual-order speichert envelope_sender, Preview-Proxy reicht sender durch.
- bootstrap: Feld envelope_sender.
- (enthaelt weiterhin die Session-Aenderungen: signature-order, mehrseitige Vorschau,
  'In manuellen Druck uebernehmen', gesendet-Nummern, Generierungs-Fehleranzeige,
  seitenumbruch-Hinweis.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-01 15:23:06 +02:00
Lucas Orth
1b600ba150 Unterschriftenservice als echter Auftrag: signature-order (Seiten-SVGs schreiben + Auftrag anlegen), Kundenmail-Feld + 'Auftrag anlegen'-Button, Output-Mount schreibbar 2026-08-27 11:05:45 +02:00
Lucas Orth
cc3f4fb758 Unterschriftenservice: Datei-Lesen von Platte (behebt transforms-Fehler), Marker-Token [[..]] statt paragraph, Breite/Versatz aus hinterlegter Signatur (Service + Brief) 2026-08-27 09:42:10 +02:00
Lucas Orth
30c9e80f9c Unterschriftenservice: echte Fehlerursache durchreichen (Service nicht erreichbar vs. Marker/Service-Fehler) statt generischer Meldung 2026-08-27 09:16:35 +02:00
Lucas Orth
0cbf9031f1 Sammel-Druck: enqueue-bulk sortiert Auftraege nach Auftragsnummer (readMany bewahrt Reihenfolge nicht) -> Kuvert-/Brief-Reihenfolge passt zur Sammel-PDF 2026-08-27 09:04:20 +02:00
Lucas Orth
94e79f12ac Import aus Monorepo (frischer Start) 2026-08-24 12:13:58 +02:00