From 84bfb75c185c54caebea9d2caff61acd1445166a Mon Sep 17 00:00:00 2001 From: Thomas Reitz Date: Wed, 11 Mar 2026 10:04:52 +0100 Subject: [PATCH] docs(crm): add deployment log and frontend updates to INSIGHT-CRM.md - Document white screen fix (missing hooks commit) - Document server deployment: migrations, seed data, container restart - Document CRM settings tabbed layout + Lexware import redesign - List all commits and remaining open items for CRM backend developer Co-Authored-By: Claude Opus 4.6 --- docs/INSIGHT-CRM.md | 74 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/docs/INSIGHT-CRM.md b/docs/INSIGHT-CRM.md index a88cd9d..1da01fd 100644 --- a/docs/INSIGHT-CRM.md +++ b/docs/INSIGHT-CRM.md @@ -886,4 +886,78 @@ Alle mit Inline-Add (Eingabezeile oben), Inline-Edit, Delete mit Bestaetigung. --- +## 2026-03-11 | Frontend: Server-Deployment & Bugfixes + +### White-Screen-Fix + +Die GUI zeigte nach dem letzten Deploy ein weisses Bild. Ursache: Die `hooks.ts` mit den neuen Hooks fuer Industries, AccountTypes und RelationshipTypes war nur lokal geaendert, aber nie committed worden. Die `CrmSettingsPage.tsx` importierte Exports die auf dem Server nicht existierten → esbuild Build-Fehler → leere Seite. + +**Fix:** Alle uncommitteten CRM-Dateien (41 Dateien, Backend + Frontend) in einem Commit zusammengefasst und deployed. + +### Server-Deployment der Company Detail Overhaul + +Folgende Schritte wurden auf dem Server (172.20.10.59) ausgefuehrt: + +1. **Prisma-Migration `20260310_add_lexware_integration`** — War bereits manuell angewendet (VoucherType Enum existierte), wurde als `applied` markiert via `prisma migrate resolve` +2. **Prisma-Migration `20260311_add_company_detail_overhaul`** — Erfolgreich angewendet. Neue Tabellen: `industries`, `account_types`, `relationship_types`, `company_relationships`, `contracts`. Aenderungen an `companies` und `activities`. +3. **Prisma-Client regeneriert** — `prisma generate` im Container ausgefuehrt +4. **CRM-Container neugestartet** — Alle neuen Controller registriert: + - `IndustriesController {/api/v1/crm/industries}` + - `AccountTypesController {/api/v1/crm/account-types}` + - `RelationshipTypesController {/api/v1/crm/relationship-types}` + - `CompanyRelationshipsController {/api/v1/crm/companies/:companyId/relationships}` +5. **Seed-Daten geladen** fuer beide Tenants (`3fc0e74d-...` und `11111111-...`): + - 8 Branchen pro Tenant (+ 1 migrierte je Tenant = 18 total) + - 4 Kontotypen pro Tenant (8 total) + - 4 Beziehungstypen pro Tenant (8 total) + +### Health-Check nach Deployment + +```json +{ + "status": "ok", + "service": "crm-service", + "version": "0.2.0", + "services": { "database": "up", "redis": "up", "lexware": "up" } +} +``` + +### CRM-Einstellungen — Tabbed Layout + +Die CRM-Settings-Seite (`/crm/settings`) wurde von gestapelten Cards auf ein **Tab-Layout** umgestellt: + +| Tab | Inhalt | +|-----|--------| +| **Module** | Modul-Toggles (Kontakte, Unternehmen, Vorgaenge, Pipelines, Lexware) | +| **Lexoffice Sync** | Import/Export eingebettet (vorher separate Seite `/crm/lexware-sync`) | +| **Weitere Einstellungen** | Admin-Konfiguration: Branchen, Kontotypen, Beziehungstypen | + +**Lexware Import** wurde ebenfalls ueberarbeitet: Statt Suchfeld-only gibt es jetzt eine **browsable paginierte Liste** aller Lexware-Kontakte mit aufklappbaren Ansprechpartnern und individuellen Import-Buttons. + +### Commits + +| Commit | Beschreibung | +|--------|-------------| +| `5532918` | feat(frontend): redesign Lexware Import with browsable list + Ansprechpartner | +| `4e5c26c` | feat(frontend): add tabbed layout to CRM Settings page | +| `0ed1e77` | feat(crm): add company detail overhaul with industries, account types, relationship types | +| `08b212b` | docs(crm): update INSIGHT-CRM.md with company detail overhaul entries | + +### Offene Punkte + +- [x] ~~Migration auf Server anwenden~~ — Erledigt (beide Migrationen) +- [x] ~~Container neu bauen und deployen~~ — Frontend + CRM Backend deployed +- [x] ~~Seed-Daten laden~~ — Fuer beide Tenants +- [ ] **Vertraege-UI implementieren** — DB-Modell vorhanden, UI ist Platzhalter (`ContractsCard.tsx`) +- [ ] **Activity Feed E-Mail/Aufgabe Tabs** — Tabs vorhanden aber disabled +- [ ] **Kanban-Board fuer Vorgaenge** — Backend ready, Frontend Feature fuer spaeter + +### Hinweis an Backend + +- Der `insight-crm` Container laeuft im Dev-Modus mit Volume-Mount. Code-Aenderungen werden automatisch erkannt. +- Nach Schema-Aenderungen muss `prisma generate` im Container ausgefuehrt werden. +- Die `LexwareSyncContent`-Komponente wurde als separater Export aus `LexwareSyncPage.tsx` extrahiert und wird sowohl auf der Standalone-Seite (`/crm/lexware-sync`) als auch eingebettet im Settings-Tab verwendet. + +--- + *Bitte neue Eintraege unten anfuegen. Format: `## YYYY-MM-DD | Absender: Betreff`*