bericht/ChangeLog.md
Eduard Wisch 0fbfb1bf27
All checks were successful
Deploy bericht / deploy (push) Successful in 1s
feat: Phase 1.3 + 1.7 + Schema 1.4/1.5 — Format/Orient + Kunden-Tab
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]
2026-04-08 22:20:09 +02:00

3 KiB

Changelog

1.1.0 — 2026-04-08

Phase 1 Bericht-Modul Erweiterungen

1.6 Verknüpfte Sicht Auftrag↔Rechnung

  • Bericht-Übersicht zeigt drei Sektionen: direkt zugeordnet, zusätzlich verknüpft, aus verknüpften Aufträgen
  • "→ Übernehmen"-Button erstellt llx_element_element-Eintrag (n:m-Verknüpfung)
  • "Lösen"-Button entfernt Verknüpfung
  • Beim Finalisieren landet das PDF auch unter den verknüpften Elementen im ECM

1.1 Live-PDF-Vorschau

  • 👁️ Vorschau-Button im Editor → Modal mit eingebettetem PDF
  • Neuer Endpoint ajax/preview_pdf.php (kein ECM-Insert, kein Status-Wechsel)
  • ESC oder Klick auf Backdrop schließt das Modal

1.2 Anhänge löschen

  • 🗑️ Icon neben jedem Anhang in der linken Spalte
  • Confirm-Dialog mit Auftrags-/Rechnungs-Referenz
  • Path-Whitelist (nur facture/, commande/, propal/), Thumbs + ECM-Eintrag werden mitgelöscht

1.3 Seitengröße A4/A3/A5/Letter + Hoch/Quer

  • Format und Orientation in der Bericht-Meta wählbar
  • Auto-Save bei Änderung
  • Bilder werden dynamisch auf die Seitengröße skaliert

1.4 + 1.5 Mehrere Bilder pro Seite (DB-Schema)

  • Neue Tabelle llx_bericht_page_image für Multi-Image-Seiten
  • Spalten layout, image_scale, image_align in llx_bericht_page
  • Grid-Rendering im Editor + PDF folgt im nächsten Commit

1.7 Tab „Berichte" auf Kundenkarte

  • Read-only Übersicht aller Berichte des Kunden
  • Flache Tabelle sortiert nach Datum
  • Springt zum Bericht oder zur Quelle (Auftrag/Rechnung/Angebot)
  • Konstante BERICHT_TAB_ON_THIRDPARTY zum Aktivieren

Sonstiges

  • DB-Migrationen im init() für bestehende Installationen (ALTER TABLE mit Error-Suppress)
  • bericht_burn_annotations und bericht_render_cover_internal in lib/bericht.lib.php zentralisiert (gemeinsam von generate_pdf + preview_pdf genutzt)
  • Modal-CSS für Vorschau im Dolibarr Dark-Theme

1.0.0 — 2026-04-08

Initiales Release.

  • Modul-Scaffold mit Reiter „Bericht" auf Rechnungen, Aufträgen und Angeboten
  • CRUD für Bericht und BerichtPage (Tabellen llx_bericht, llx_bericht_page)
  • Browser-Editor mit PDF.js + Fabric.js: Pfeile, Kreise, Rechtecke, Freihand, Text, Undo/Redo
  • Anhänge-Browser zeigt eigene Anhänge + Anhänge verknüpfter Objekte
  • Datei-Upload direkt in den Bericht
  • Seiten-Verwaltung mit Drag&Drop (SortableJS), Löschen, Drehen
  • Notizen pro Seite (werden im PDF gedruckt)
  • Admin-Setup mit ODT-Template-Verwaltung (Upload, Löschen, Standard wählen)
  • Platzhalter-System für ODT-Templates ({auftragsnummer}, {kunde_name}, …)
  • PDF-Finalisierung mit TCPDF + FPDI, ODT→PDF Konvertierung des Deckblatts via LibreOffice
  • Annotationen werden beim Export ins PDF eingebrannt
  • Auftragsnummer wird automatisch aus dem vorhandenen Extrafield options_auftragsnummer geholt
  • Beim Aktivieren werden fehlende Extrafields auf llx_facture_extrafields angelegt, vorhandene NICHT überschrieben
  • Mehrere Berichte pro Dokument möglich
  • Forgejo-Workflow für Deploy nach Dolibarr (Tag [deploy])