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>
This commit is contained in:
Eduard Wisch 2026-03-03 21:23:48 +01:00
parent c4338c8d7a
commit 65f24495e6
2 changed files with 130 additions and 0 deletions

62
CLAUDE.md Executable file → Normal file
View file

@ -226,3 +226,65 @@ Offline-fähige Progressive Web App für Elektriker zur Schaltschrank-Dokumentat
- Zeile 3: Equipment-Blöcke
- Zeile 4: Terminal-Punkte unten (terminal-point.terminal-row-bottom)
- Zeile 5: Abgang-Labels unten (terminal-label-cell.label-row-bottom)
## Ausgebaut-Status (v8.0)
### Spalten
- `decommissioned` (tinyint DEFAULT 0) in `llx_kundenkarte_anlage`
- `date_decommissioned` (date NULL) in `llx_kundenkarte_anlage`
### Verhalten
- Toggle per Button am Element im Baum und Graph
- Ausgebaute Elemente: `opacity: 0.4`, dashed border, Badge "Ausgebaut"
- Toggle-Button in Toolbar: Klasse `.show-decommissioned` auf `.kundenkarte-tree`
- Admin-Setting `KUNDENKARTE_SHOW_DECOMMISSIONED` für Standard-Sichtbarkeit
- Graph-View: Nodes mit Klasse `.decommissioned` (35% opacity, dashed border)
## Mein Betrieb / Werkzeuge (v8.5)
### Übersicht
Eigene Seite für Firmen-Equipment (Werkzeuge, Maschinen, Messgeräte).
### Dateien
- `werkzeuge.php` - Baumansicht für eigene Firma (fk_soc = mysoc->id)
- `class/anlageaccessory.class.php` - Zubehör-Klasse mit CRUD + Bestellfunktion
- `ajax/anlage_accessory.php` - AJAX-Endpunkte für Zubehör
### System
- Neues System `WERKZEUG` (ID 26) in `llx_c_kundenkarte_anlage_system`
- Menüpunkt unter KundenKarte > Mein Betrieb
- System-Filter fix auf "WERKZEUG"
### Produkt-Zuordnung
- `fk_product` in `llx_kundenkarte_anlage` verknüpft mit Dolibarr-Produkt
- Autocomplete-Suche via `ajax/equipment.php?action=get_products`
- Anzeige: Ref + Label + Preis unter Element im Baum
- **Typ-Flag `has_product`**: Steuert ob Produkt-Zeile im Formular sichtbar ist
- `data-has-product` Attribut auf `<option>` für JS-Steuerung
### Zubehör-System
- Tabelle `llx_kundenkarte_anlage_accessory` (fk_anlage, fk_product, qty, rang, note)
- Typ-Flag `has_accessories` steuert Verfügbarkeit
- Lieferantenbestellung via `CommandeFournisseur` generierbar
## Select2 mit Kategorie-Filter
### Problem & Lösung
In anlagen.php und contact_anlagen.php gibt es einen Kategorie-Filter (Gebäude/Element),
der die Typ-Options per JS filtert und Select2 neu initialisiert.
**Wichtig**: Nach `initSelect2()` muss der Wert mit `.trigger("change")` gesetzt werden,
damit Select2 den aktuellen Wert korrekt anzeigt:
```javascript
initSelect2();
if (currentVal && $typeSelect.find('option[value="' + currentVal + '"]').length) {
$typeSelect.val(currentVal).trigger("change");
}
```
### Ablauf in filterTypes()
1. `currentVal` sichern
2. HTML aus `allOptionsHtml` zurücksetzen
3. Nicht passende Options entfernen
4. Select2 initialisieren
5. Wert mit `.trigger("change")` wiederherstellen

68
ChangeLog.md Executable file → Normal file
View file

@ -1,5 +1,73 @@
# 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