Anhaenge-Spalte: Kachelraster mit Server-Thumbnails statt Dateinamen-Liste (Bilder per GD,
PDFs per PDF.js), Grossansicht per Klick, Auswahlreihenfolge sichtbar, Sortierung/Filter
(Aufnahmezeit per eigenem EXIF-Parser, da im Prod-Container ohne exif-Modul), ziehbare
Spaltenbreite, Kachelgroesse, Drag & Drop auf Seitenliste/Arbeitsflaeche/Raster-Plaetze.
Arbeitstisch zeigt jetzt Kopf-, Inhalts- und Fussbereich passend zur echten Seitengeometrie
(bericht_page_geometry()) - Editor und PDF-Erzeugung rechnen mit denselben Werten, das PDF
setzt die Arbeitsflaeche 1:1 statt sie ein zweites Mal einzupassen.
Neu: Bild einer Seite austauschen (auch einzelne Raster-Plaetze), Seiten mehrfach markieren
und sammeln loeschen/duplizieren, Autosave mit Verlassen-Warnung, Tastenkuerzel, kein
location.reload() mehr nach Hinzufuegen/Loeschen/Hochladen (ajax/fragments.php).
Nebenbei behoben: dol_dir_list() ohne mode=1 (Dateigroesse leer), PDF.js-Worker-Pfad ohne
/custom-Praefix, PDFs liefen als Download statt inline, Groessen-Select blieb leer,
Mehrfach-Upload nahm nur die erste Datei, Race-Condition bei schnellem Seitenwechsel.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
api/orders.php?action=create gibt den Auftrag mit validate=true jetzt ohne
jede Position frei. Bisher hing das Backend vorher eine Std-Lohn-Zeile mit
Menge 1 an (Kundenkarten-Default, sonst Fallback-Produkt).
Die Annahme, Commande::valid() scheitere an einem leeren Auftrag, ist falsch -
weder valid() noch confirm_validate pruefen auf Zeilen, gesperrt ist nur die
Button-Darstellung in commande/card.php (KB #355/#989, gegen Dolibarr 22.0.2
verifiziert). Die Alibi-Zeile verfaelschte total_ht, tauchte als offene Rest-
menge in der Lieferauflistung auf, stand im Kunden-PDF und liess sich nach der
Freigabe nicht mehr per deleteLine() entfernen. Die Leistungen kommen aus dem
Stundenzettel.
- Antwortfeld added_line entfaellt (die Baustelle-PWA hat es nie ausgewertet)
- Konstante BERICHT_ORDER_DEFAULT_SERVICE_REF wird nicht mehr verwendet
- Gleiche Umstellung in der Stunden-App (Stundenzettel 2.17.0), die mit der
neuen Aktion create_order jetzt ebenfalls Auftraege anlegen kann
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Phase 1.3 Seitenformat A4/A3/A5/Letter + Hoch/Quer:
- Neue Spalten page_format, page_orientation in llx_bericht
- Bericht-Meta zeigt Format + Orientation Selects
- Auto-Save via neuem ajax/save_meta.php
- generate_pdf + preview_pdf nutzen die gewählten Werte
- Bilder werden dynamisch via getPageWidth/getPageHeight skaliert
(statt hardcoded 210x297 für A4)
Phase 1.4 + 1.5 Schema-Vorbereitung:
- Neue Tabelle llx_bericht_page_image für Multi-Image-Seiten
- Spalten layout, image_scale, image_align in llx_bericht_page
- DB-Migrationen im init() für bestehende Installationen
(ALTER TABLE mit Error-Suppress)
- Grid-Rendering im Editor/PDF folgt im nächsten Commit
(siehe CLAUDE.md TODO)
Phase 1.7 Tab "Berichte" auf Kundenkarte:
- Neue Konstante BERICHT_TAB_ON_THIRDPARTY (default 1)
- Tab-Definition in modBericht für 'thirdparty' Element
- Neue Datei bericht_thirdparty.php
- UNION-SQL über bericht JOIN commande/facture/propal mit fk_soc
- Read-only flache Tabelle sortiert nach Datum
- Pro Bericht: Quelle (Symbol + Ref-Link), Status, Öffnen/Zur Quelle
Version-Bump 1.0.0 → 1.1.0, ChangeLog ergänzt.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
[deploy]
Dolibarr-Modul für Arbeitsberichte aus Rechnungs-Anhängen mit Browser-PDF-Editor.
- Reiter "Bericht" auf Rechnungen, Aufträgen und Angeboten
- Anhänge-Browser inkl. verknüpfter Objekte (Auftrag → Rechnung)
- PDF.js + Fabric.js Browser-Editor: Pfeile, Kreise, Rechtecke, Freihand, Text
- SortableJS Seiten-Verwaltung mit Drag&Drop
- ODT-Deckblatt mit Platzhaltern, Templates im Admin verwaltbar
- TCPDF + FPDI Finalisierung mit eingebrannten Annotationen
- ECM-Verknüpfung: PDF erscheint unter Verknüpfte Dokumente
- Auftragsnummer aus existierendem Extrafield options_auftragsnummer
- Mehrere Berichte pro Dokument
- Beim Aktivieren werden vorhandene Extrafields nicht überschrieben
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>