kundenkarte/ChangeLog.md
data 65f24495e6 docs: Changelog v8.5/v8.6 und CLAUDE.md aktualisiert
- ChangeLog: v8.5 (Werkzeuge, Zubehör, Ausgebaut) und v8.6 (has_product, Decommissioned-Default, Select2-Fix)
- CLAUDE.md: Neue Abschnitte für Ausgebaut-Status, Mein Betrieb, Select2-Kategorie-Filter

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:23:48 +01:00

360 lines
14 KiB
Markdown

# CHANGELOG MODULE KUNDENKARTE FOR [DOLIBARR ERP CRM](https://www.dolibarr.org)
## 8.6 (2026-03)
### Neue Features
- **has_product Typ-Flag**: Produkt-Zuordnung pro Element- und Gebaeudetyp ein-/abschaltbar
- Neue Checkbox "Produkt-Zuordnung" in Admin > Element-Typen und Gebaeudetypen
- Produkt-Zeile im Formular wird per JS dynamisch ein-/ausgeblendet je nach Typ
- `data-has-product` und `data-has-accessories` Attribute auf Options fuer JS-Steuerung
- **Decommissioned Default-Setting**: Standard-Sichtbarkeit fuer ausgebaute Elemente
- Neues Admin-Setting `KUNDENKARTE_SHOW_DECOMMISSIONED` unter Einstellungen
- Toggle-Button startet mit Admin-Default in allen 3 Ansichten (Kunden, Kontakte, Mein Betrieb)
- Tree-Div erhaelt `show-decommissioned` CSS-Klasse basierend auf Setting
### Bugfixes
- **Select2 Typ-Select im Edit-Modus**: Wert wurde nicht angezeigt beim Bearbeiten
- Ursache: Wert wurde vor Select2-Initialisierung gesetzt ohne `.trigger("change")`
- Fix: Wert wird jetzt nach `initSelect2()` mit Trigger gesetzt
- Betrifft: anlagen.php und contact_anlagen.php (Kategorie-Filter mit Select2)
- **Fehlende color-Property**: `fetchAllBySystem()` hat `$type->color` nicht gesetzt
- Options mit `data-color` Attribut hatten leeren Wert
### Datenbank-Aenderungen
- Neue Spalte `has_product` (tinyint) in `llx_kundenkarte_anlage_type`
- Neue Spalte `has_product` (tinyint) in `llx_kundenkarte_building_type`
- Migration `migrate_v860_has_product()` in modKundenKarte.class.php
---
## 8.5 (2026-03)
### Neue Features
- **Mein Betrieb (Werkzeuge & Maschinen)**: Eigene Baumansicht fuer Firmen-Equipment
- Neue Seite `werkzeuge.php` mit System-Tabs, Baum und Graph-Ansicht
- Neues System "WERKZEUG" fuer firmeneigene Geraete
- Menue-Eintrag unter KundenKarte > Mein Betrieb
- **Zubehoer-System**: Zubehoer und Ersatzteile pro Anlage zuordnen
- Neue Klasse `AnlageAccessory` mit CRUD und Bestellfunktion
- Lieferantenbestellung direkt aus Zubehoer-Liste generierbar
- Typ-Flag `has_accessories` steuert Verfuegbarkeit pro Typ
- **Produkt-Zuordnung**: Dolibarr-Produkt mit Anlage verknuepfen
- `fk_product` Spalte in `llx_kundenkarte_anlage`
- Autocomplete-Suche im Formular
- Produkt-Details (Ref, Label, Preis) unter Element im Baum
- **Ausgebaut-Status**: Anlagen als "ausgebaut" markieren
- Toggle per Rechtsklick/Button am Element
- Ausgebaute Elemente ausgegraut (opacity 0.4, dashed border)
- Toggle-Button in Toolbar zum Ein-/Ausblenden
- Ausbaudatum wird erfasst und angezeigt
### Datenbank-Aenderungen
- Neue Spalte `decommissioned` in `llx_kundenkarte_anlage`
- Neue Spalte `date_decommissioned` in `llx_kundenkarte_anlage`
- Neue Spalte `fk_product` in `llx_kundenkarte_anlage`
- Neue Spalte `has_accessories` in `llx_kundenkarte_anlage_type`
- Neue Tabelle `llx_kundenkarte_anlage_accessory`
- Neues System `WERKZEUG` in `llx_c_kundenkarte_anlage_system`
---
## 7.5 (2026-03)
### Neue Features
- **FI/RCD-Schutzgruppen**: Equipment kann Schutzgeraeten zugeordnet werden
- Farbliche Markierung der Schutzgruppen im Schaltplan
- Dropdown zur Auswahl des Schutzgeraets im Equipment-Dialog
- Visuelle Verbindung durch farbige Raender
- **Gebuendelte Terminals**: Multi-Phasen-Abgaenge fuer Drehstrom-Verbraucher
- "Alle buendeln" Option fuer E-Herd, Durchlauferhitzer etc.
- Ein Abgang belegt alle Terminals des Equipment
- Zentrierter Pfeil ueber alle Terminals
- **Terminal-Konfiguration**: Korrekte Terminal-Anzahl aus Typ-Konfiguration
- Neozed 3F zeigt 3 statt 4 Terminals (trotz 4 TE Breite)
- Neue `getTerminalCount()` Hilfsfunktion
- **Zuletzt bearbeitete Kunden**: Quick-Access auf Search-Screen
- Speichert die letzten 5 bearbeiteten Kunden
- Schneller Zugriff ohne Suche
- **Medium-Typen aus Datenbank**: Dynamisches Kabeltyp-Dropdown
- Kategorisierte Auswahl (NYM, NYY, Datenkabel, etc.)
- Querschnitt-Spezifikationen als Unter-Dropdown
- Offline-Cache fuer die Auswahl
### Verbesserungen
- Terminal-Labels anklickbar zum direkten Bearbeiten
- Kontextmenue fuer leere Terminals (Wahl Input/Output)
- Equipment-Block-Value (B16A) kleiner dargestellt (8px)
- Terminals direkt am Equipment-Block ausgerichtet
- Block-Label mit Einheiten und Leerzeichen (40A 30mA)
### Bugfixes
- Abgaenge werden nach Positionswechsel (oben/unten) korrekt angezeigt
- Bundle-Option nur bei Equipment mit mehr als 1 Terminal sichtbar
- Login-Fehler durch doppelte Variable-Deklaration behoben
### Datenbank-Aenderungen
- Neue Spalte `bundled_terminals` in `llx_kundenkarte_equipment_connection`
- Neue Spalten `fk_protection`, `protection_label` in `llx_kundenkarte_equipment`
---
## 5.2.0 (2026-02)
### Neue Features
- **PWA Mobile App**: Offline-faehige Progressive Web App fuer Elektriker
- Schaltschrank-Dokumentation direkt vor Ort im Keller (ohne Internet)
- Kundensuche, Anlagen-Auswahl, Felder/Hutschienen/Automaten erfassen
- Token-basierte Authentifizierung (15 Tage gueltig)
- Automatische Synchronisierung wenn wieder online
- Installierbar auf dem Smartphone Home Screen
- Touch-optimiertes Dark Mode Design
- Quick-Select fuer Automaten-Werte (B16, C32, etc.)
- **Schaltplan-Editor: Block Hover-Tooltip**
- Zeigt alle Felder mit `show_in_hover=1` Einstellung
- Produktinfo mit Icon wenn Produkt zugewiesen
- Position und Breite in TE
- Schickes dunkles Design
- **Schaltplan-Editor: Produkt-Zuordnung**
- Autocomplete-Suche fuer Produkte beim Hinzufuegen/Bearbeiten
- Produktinfo im Klick-Popup angezeigt
### Verbesserungen
- Equipment-Popup zeigt jetzt Produktinfo mit Cube-Icon
- Loeschbestaetigung fuer Panels und Hutschienen mit Inhalt
### Neue Dateien
- `pwa.php` - PWA Haupteinstieg
- `pwa_auth.php` - Token-basierte Authentifizierung
- `ajax/pwa_api.php` - PWA AJAX API
- `js/pwa.js` - PWA JavaScript App
- `css/pwa.css` - PWA Mobile Styles
- `sw.js` - Service Worker (Offline-Cache)
- `manifest.json` - PWA Web App Manifest
- `img/pwa-icon-192.png`, `img/pwa-icon-512.png` - App Icons
---
## 5.1.0 (2026-02)
### Verbesserungen
- **Graph-Ansicht: Intelligente Feldanzeige**
- Felder nach `position` sortiert (nicht mehr nach JSON-Reihenfolge)
- Nur Felder mit `show_in_tree=1` werden auf den Graph-Nodes angezeigt
- Nur Felder mit `show_in_hover=1` erscheinen im Tooltip
- Badge-Werte im Graph mit Feldbezeichnung (z.B. "Hersteller: ABB")
- Tooltip: Typ/System entfernt (redundant mit Graph-Node)
- Tooltip: Farbige Badge-Kaesten wie in der Baumansicht
- Shared Library `lib/graph_view.lib.php` fuer Toolbar/Container/Legende
### Neue Dateien
- `lib/graph_view.lib.php` - Gemeinsame Graph-Funktionen (Toolbar, Container, Legende)
---
## 5.0.0 (2026-02)
### Neue Features
- **Cytoscape.js Graph-Ansicht**: Neue interaktive Netzwerk-Visualisierung
- Raeume als Compound-Container, Geraete als Nodes darin
- Kabelverbindungen als sichtbare Edges (auch raumuebergreifend)
- Durchgeschleifte Leitungen als gestrichelte Linien
- Dagre-Layout: Hierarchischer Stromfluss top-down
- Zoom/Pan/Fit-Controls, Mausrad-Zoom Toggle
- Kabeltyp-Legende mit Farben
- **Bearbeitungsmodus**: Nodes nur per "Anordnen"-Button verschiebbar,
Positionen per "Speichern"-Button fest, "Abbrechen" setzt zurueck
- Viewport-Persistenz (Zoom/Pan bleibt beim Seitenwechsel)
- Klick auf Node/Edge oeffnet Detail-/Bearbeitungsseite
- Suche als Overlay im Graph-Container (Nodes hervorheben/abdunkeln)
- Kontextmenue (Rechtsklick): Ansehen, Bearbeiten, Kopieren, Loeschen
- PNG-Export des Graphen
- Admin-Setting: Ansichtsmodus (Baum/Graph) in Setup waehlbar
- Toolbar zweizeilig: Aktionen oben, Graph-Steuerung unten
- **Verbindungsformular verbessert**
- Select-Dropdowns zeigen nur Geraete (keine Gebaeude/Raeume)
- Icons (FontAwesome) in Select-Optionen via select2
- Gebaeude-Pfad als Kontext (z.B. "EG > Zahlerschrank")
- Systemuebergreifende Geraete-Auswahl (kein Systemfilter)
### Neue Dateien
- `js/kundenkarte_cytoscape.js` - Graph-Namespace (~750 Zeilen)
- `css/kundenkarte_cytoscape.css` - Graph-Styles mit Dark Mode
- `ajax/graph_data.php` - AJAX: Baum+Verbindungen → Cytoscape-Format
- `ajax/graph_save_positions.php` - AJAX: Node-Positionen speichern
- `js/cytoscape.min.js`, `js/dagre.min.js`, `js/cytoscape-dagre.js`, `js/cytoscape-cose-bilkent.js` - Bibliotheken
### Bugfixes
- **Contact-Filter im Graph**: Graph zeigte faelschlicherweise Kontakt-Elemente auf Kunden-Ebene
- Fix: `fk_contact` Filter in `graph_data.php` analog zum Baum
- **Verbindung hinzufuegen**: Formular zeigte "Feld erforderlich"-Fehler beim Oeffnen
- Ursache: `action=create` in URL triggerte Handler vor Formular-Anzeige
- Fix: Korrekte Dolibarr-Konvention (create=Formular, add=Verarbeitung)
- **Leere Dropdowns**: Quelle/Ziel-Auswahl war leer wenn System keine Elemente hatte
- Fix: Kein System-Filter mehr (Kabel koennen systemuebergreifend sein)
- **Kontakt-Redirect**: Nach Verbindung-Bearbeiten landete man auf Kundenansicht statt Kontaktansicht
- Fix: `contactid` wird jetzt in allen Edit-URLs mitgegeben
- **Kontakt-Anlagen**: Auf Stand von Kunden-Anlagen gebracht
- tree_display_mode, badge_color, Schaltplan-Editor, Drag&Drop Upload
### Datenbank-Aenderungen
- Neue Spalten `graph_x`, `graph_y` in `llx_kundenkarte_anlage` (Node-Positionen)
- Neue Spalte `fk_building_node` in `llx_kundenkarte_anlage` (vorbereitet fuer Phase 2)
### Admin-Settings
- `KUNDENKARTE_DEFAULT_VIEW`: `tree` (Standard) oder `graph`
---
## 4.0.1 (2026-02)
### Neue Features
- **Badge-Farben pro Feld**: Individuelle Farben fuer Badges im Baum konfigurierbar
- Neue Spalte in Admin > Element-Typen > Felder
- Color-Picker fuer einfache Farbauswahl
- Hex-Format (#RRGGBB)
- **Datei-Vorschau Tooltip**: Hover ueber Datei-Badge zeigt Vorschau
- Thumbnails fuer Bilder
- Icons fuer Dokumente (PDF, Word, Excel, etc.)
- Neuer AJAX-Endpoint `ajax/file_preview.php`
- **Mobile/Kompakte Ansicht**: Optimiert fuer mobile Geraete
- Kompakt-Modus Toggle-Button
- Einheitliche Button-Groessen auf mobilen Geraeten
- 2x2 Grid-Layout auf sehr kleinen Bildschirmen
- Touch-freundliche Bedienelemente
### Bugfixes
- **Dolibarr App Navigation**: Vor/Zurueck-Pfeile funktionieren jetzt korrekt
- Module akzeptieren nun `id` UND `socid`/`contactid` Parameter
- Kunden-Kontext bleibt beim Navigieren erhalten
- Betroffene Dateien: alle Tab-PHP-Files
- **Datei-Badge Icon**: Zeigt jetzt Bueroklammer-Icon statt nur Zahl
- **Kontakt-Anlagen Kategorie-Filter**: Fehlende Kategorie-Auswahl hinzugefuegt
- Gebaeude/Standort vs. Technisches Element jetzt auch bei Kontakten waehlbar
- Strom-Typen sind jetzt auswaehlbar
- **Schematic Editor**: Hutschiene hinzufuegen Button bei leerem Panel
- Button erscheint jetzt auch wenn noch keine Hutschiene existiert
- **Panel-Hoehe**: Korrektur der Berechnung bei mehreren Hutschienen
- Unterer Rand wird nicht mehr abgeschnitten
### Datenbank-Aenderungen
- Neue Spalte `badge_color` in `llx_kundenkarte_anlage_type_field`
---
## 3.5.0 (2026-02)
### Neue Features
- **Drag & Drop Sortierung**: Elemente im Anlagenbaum per Drag & Drop umsortieren
- Geschwister-Elemente auf gleicher Ebene verschieben
- Visuelle Drop-Indikatoren (blaue Linie)
- Reihenfolge wird sofort per AJAX gespeichert (kein Seitenreload)
- Funktioniert in Kunden- und Kontakt-Anlagen
### Bugfixes
- **Duplicate-Key-Fehler behoben**: UNIQUE KEY `uk_kundenkarte_societe_system` um `fk_contact` erweitert
- Systeme koennen nun gleichzeitig auf Kunden- und Kontaktebene existieren
- Migration wird automatisch beim Modul-Aktivieren ausgefuehrt
### Verbesserungen
- Visueller Abstand zwischen Root-Elementen im Anlagenbaum
- INSERT fuer Kunden-Systeme setzt explizit `fk_contact = 0`
---
## 2.0 (2026-01)
### Neue Features
- **PDF Export mit Vorlage**: Briefpapier/Hintergrund-PDF kann als Vorlage hochgeladen werden
- Upload im Admin-Bereich unter Einstellungen
- Vorlage wird als Hintergrund auf allen Seiten verwendet
- **PDF Schriftgroessen konfigurierbar**: Anpassbare Schriftgroessen fuer den PDF-Export
- Ueberschriften (7-14pt)
- Inhalte (6-12pt)
- Feldbezeichnungen (5-10pt)
- **Verbesserte PDF-Baumdarstellung**: Professionelle Darstellung der Anlagenstruktur
- Farbcodierte Header pro Hierarchie-Ebene (dezente Grauabstufungen)
- Abgerundete Rahmen um Elemente
- Visuelle Verbindungslinien zwischen Elementen
- Bessere Einrueckung und Lesbarkeit
### Verbesserungen
- Logo aus PDF-Export entfernt (ersetzt durch Vorlagen-System)
- Dynamische Felder fuer Element-Typen (Ueberschrift als neuer Feldtyp)
- Kopierfunktion fuer Elemente und Typen
---
## 1.1 (2026-01)
### Neue Features
- **Kontakt/Adressen-Unterstuetzung**: Favoriten und Anlagen koennen nun auch auf Kontakt-/Adressebene verwaltet werden
- Ideal fuer Kunden mit mehreren Gebaeuden/Standorten
- Neue Tabs "Favoriten" und "Anlagen" auf Kontaktkarten
- Vollstaendige Trennung der Daten zwischen Kunde und Kontakten
### Verbesserungen
- Mengen-Eingabe bei Favoriten vereinfacht (Textfeld + Speichern-Button)
- Modul-Icon geaendert zu fa-id-card
- Dokumentation aktualisiert
### Datenbank-Aenderungen
- Neue Spalte `fk_contact` in Tabelle `llx_kundenkarte_favorite_products`
- Neue Spalte `fk_contact` in Tabelle `llx_kundenkarte_anlage`
- Neue Spalte `fk_contact` in Tabelle `llx_kundenkarte_societe_system`
### Hinweis zum Upgrade
Nach dem Update bitte das Modul einmal deaktivieren und wieder aktivieren, damit die SQL-Aenderungen ausgefuehrt werden.
---
## 1.0
### Features
- Favoriten-Produkte fuer Kunden
- Produkte als Favoriten markieren
- Standardmengen festlegen
- Bestellungen aus Favoriten generieren
- Sortierbare Liste
- Technische Anlagen (Baumstruktur)
- Systemkategorien (Strom, Internet, Kabel, Sat)
- Konfigurierbare Element-Typen
- Individuelle Felder pro Typ
- Datei-Upload mit Vorschau
- Hierarchische Struktur
- Admin-Bereich
- Systeme verwalten
- Typen verwalten
- Felder konfigurieren
Initial version