Kontaktadresse: Neues Feld Position, Filter-Funktionen null-sicher, Projektnamen-Spalte entfernt

- Server: Neue Spalte position in Kontaktadresse-Modell (String(200), nullable)
- Server: Migration V01_04 (ALTER TABLE kontaktadressen ADD COLUMN position)
- Server: position in Geschäftslogik create/update aufgenommen
- Server: CLI-Musterdaten um Position ergänzt (Geschäftsführer, IT-Leiter etc.)
- Client: position in iKontaktadresse-Interface, View nach Firma, Columnmapper, Filter
- Client: Projektnamen-Spalte aus Kontaktadressenliste entfernt (steht in Überschrift)
- Client: Filter-Funktionen in allen Listen null-sicher (kunde, kontakt, projekt, kontaktadresse, call_log)

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
gg committed 2026-09-04 14:58:52 +02:00
1 parent b510c50497
commit e9a2f48ede
10 files changed
+59 -36

No files matched your search

+5 -5
View File
@@ -117,11 +117,11 @@ export const kundenliste: m.ClosureComponent = (vnode) => {
const filterFunction = (node: iTreenode, searchvalue: string): boolean => {
let kunde: iKunde = node.nodevalue
let searchLower = searchvalue.toLowerCase()
return kunde.name.toLowerCase().includes(searchLower) ||
kunde.strasse.toLowerCase().includes(searchLower) ||
kunde.plz.includes(searchLower) ||
kunde.ort.toLowerCase().includes(searchLower) ||
kunde.land.toLowerCase().includes(searchLower)
return (kunde.name || "").toLowerCase().includes(searchLower) ||
(kunde.strasse || "").toLowerCase().includes(searchLower) ||
(kunde.plz || "").includes(searchLower) ||
(kunde.ort || "").toLowerCase().includes(searchLower) ||
(kunde.land || "").toLowerCase().includes(searchLower)
}
return {