Commit Graph
77 Commits
Author SHA1 Message Date
ClaudeandClaude Opus 5.5 005875d970 Sidebar: Chat als Unterpunkt von Kunden mit Zahl der ungelesenen Nachrichten
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:32:24 +00:00
ClaudeandClaude Opus 5.5 717a3323fa Chat: Team-API und Laden des Chat-Bausteins vom Kundenportal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:31:19 +00:00
ClaudeandClaude Opus 5.5 fce2f41463 Kundenseite: Kundenansicht oeffnen, letzter Login, Preview per Einmal-Link
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 19:44:50 +00:00
ClaudeandClaude Opus 5.5 370724a9a7 Kundenseite: Reiter in der Adresse, Uebersicht mit Umlaut, Protokoll der Kundenansicht
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 19:40:42 +00:00
ClaudeandClaude Opus 5.5 8c7a3fcced Team-API des Kundenportals und Oeffnen im neuen Tab ohne Pop-up-Sperre
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 19:39:15 +00:00
ClaudeandClaude Opus 5.5 52968b3017 Analyse: Einschalten im WOMS nur mit Datum und Weg der Zustimmung in Textform
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 19:02:05 +00:00
ClaudeandClaude Sonnet 5.5 72f07410fe Finanzen: Rueckfrage vor dem Senden, Anschrift des Kunden pruefen, Fehlermeldungen im Bild
Senden einer Rechnung (Dialog und Entwurf in der Tabelle) fragt vorher: "Rechnung fuer
<Kunde> ueber <Betrag> jetzt festschreiben und an <E-Mail> senden? Danach laesst sie sich
nur noch stornieren."

Fehlt dem Kunden Strasse, PLZ oder Ort, zeigen Rechnungsdialog und Kundenansicht die
Warnung "Adresse des Kunden unvollstaendig ..." mit Weg zur Uebersicht, und Senden ist
ueber 250 € gesperrt (§ 14 Abs. 4 Nr. 1 UStG, Kleinbetragsrechnung); Entwuerfe bleiben
moeglich. Reine Helfer addressComplete und invoiceSendGate samt Tests.

Fehlermeldungen in Rechnungs- und Zuordnen-Dialog werden per scrollIntoView
({ block: 'nearest' }) in den sichtbaren Bereich geholt.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:22:00 +00:00
ClaudeandClaude Sonnet 5.5 1e72faf97c Finanzen: Portal-Client mit deutschen Fehlertexten fuer Proxy-Fehler und abgelaufene Anmeldung
Der Anfrage-Kern liegt jetzt in financeRequest.js (rein, fetch und createJWT werden
injiziert, unter Node testbar). 502/503/504 ohne JSON-Antwort und Netzfehler melden
"Das Kundenportal ist gerade nicht erreichbar."; scheitert createJWT, kommt
"Anmeldung abgelaufen. Bitte neu anmelden." (status 401). Meldungen des Portals bleiben.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:21:53 +00:00
ClaudeandClaude Sonnet 5.5 e9cfae28ee Finanzen: Steuerkarte mit Orientierungshinweis und neuer Anteilsformulierung, Ladetext auf Deutsch
TaxCard zeigt am Ende immer "Orientierungswert, ersetzt keine Steuerberatung."; der
Anteil heisst "<x> % der Grenze von 25.000 €" statt "<x> % der 25.000-€-Grenze".
AdminRoute zeigt "Wird geladen …" statt "Loading...".

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:21:53 +00:00
ClaudeandClaude Sonnet 5.5 0b1101d384 Finanzen: Korrekturen aus dem Oberflaechentest
Seitenmenue startet auf schmalen Bildschirmen (bis 720 px) eingeklappt. Bei 390 px liess
das feste 248-px-Menue nur ~140 px Inhalt, jede Seite (auch /finance) scrollte waagerecht;
das fiel in den Einzeltests ohne App-Rahmen nicht auf.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 edf118a044 Finanzen: Reiter Rechnungen am Kunden nur fuer Admins, Badge Adresse unvollstaendig
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 2aacdb2d56 Finanzen: Einstellungen, Rechnungen am Kunden, InvoiceNinja aus der Oberflaeche entfernt
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 24a3cc41ef Finanzen: Offen zeigt auch Ueberfaellige, Rechnungsliste laedt nach Zuordnen neu
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 1feeb18c08 Finanzen: Rechnungen schreiben und verwalten, Buchungen zuordnen
Block 6 (Rechnungen: Filter, Altersgruppen, Aktionen, Dialog "Rechnung schreiben")
und Block 7 (Buchungen mit Paging, Zuordnen-Dialog, bei Rechnungen zweistufig).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 18bc3012e0 Finanzen: Steuer-Texte zu den Grenzen genauer, Test fuer gleichen Tag
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 3826f1ab72 Finanzen: Vorschau, Steuer und Abos
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 88a98b858f Finanzen: Statuszeile, Liquiditaetskopf und Aufgabenliste
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 0069a62a09 Finanzen: nur fuer Admins, Rueckkehrseite fuer die Bankfreigabe
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 c910bedcec Finanzen: Formatierung, Betragsparser und Portal-API-Client
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 15:12:18 +00:00
ClaudeandClaude Sonnet 5.5 8ecf07fecd Analyse: Sperre im WOMS kenntlich machen
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 10:40:06 +00:00
ClaudeandClaude Sonnet 5.5 0cec45d3da Analyse: Schalter im WOMS
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-01 10:38:11 +00:00
ClaudeandClaude Sonnet 5.5 447b7e733e Preview: Dev-Modus nur mit dev-Skript waehlbar
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 22:48:21 +00:00
ClaudeandClaude Sonnet 5.5 c1818fadcf Preview: Block ausserhalb des Formulars, Validierung und Feinschliff
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 21:08:52 +00:00
ClaudeandClaude Sonnet 5.5 2de846436b Preview: Block im WOMS
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 21:06:53 +00:00
ClaudeandClaude Sonnet 5.5 0f884e41e8 Preview: Anzeige-Logik und API-Client
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 21:04:31 +00:00
ClaudeandClaude Sonnet 5.5 471c7a056d Projektarten: Login behaelt Ziel-Link, Hinweise im Ticket-Dialog
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 18:03:40 +00:00
ClaudeandClaude Sonnet 5.5 c16049d266 Projektarten: Art beim Zuweisen und nach Repo-Anlage
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 17:47:02 +00:00
ClaudeandClaude Sonnet 5.5 7e79dac6b4 Projektarten: Bereich Services
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 17:44:55 +00:00
ClaudeandClaude Sonnet 5.5 9dc447e92c Projektarten: Ablauf-Logik und API-Client
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 17:39:19 +00:00
ClaudeandClaude Opus 5.5 1497f7a4dc Unterstützung: Rechenregeln für 15-Minuten-Raster und Unterstützungszeit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:47:36 +00:00
ClaudeandClaude Opus 5.5 03af5fcfb8 Serverpuls: Zeitzone in Warnungen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:43:13 +00:00
ClaudeandClaude Opus 5.5 57f235dd36 Serverpuls: deutsche Zeitachse und Legende im Diagramm
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:43:13 +00:00
ClaudeandClaude Opus 5.5 16f3150ff1 Serverpuls: JWT-Cache, Lade-Zustand beim Umschalten, Antwort-Reihenfolge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:43:13 +00:00
ClaudeandClaude Opus 5.5 ec740ca970 Serverpuls: Admin-Seite mit Verlauf und Warnungen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:43:13 +00:00
ClaudeandClaude Opus 5.5 fa23732217 Rechtliches: jederzeit kuendbare Vertraege brauchen kein Beginn-Datum
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 11:19:58 +00:00
ClaudeandClaude Opus 5.5 dddfb02d1d Seitenleiste: direkt ins Projekt-Admin wechseln
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 11:07:00 +00:00
ClaudeandClaude Opus 5.5 b8e4de97c7 Login mit E-Mail-Code (Appwrite-2FA)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 11:07:00 +00:00
ClaudeandClaude Opus 5.5 56489b8d6d Zuweisen über das Portal, Import neuer Repos, Pushes nachtragen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:41:35 +00:00
ClaudeandClaude Opus 5.5 cc59e7978e Subdomain-Vorschlag und Zuweisungs-Logik mit Tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:41:35 +00:00
ClaudeandClaude Opus 5.5 c24b3d43c8 Rechtliches: Fristen ohne Monatsende-Drift, Indizes und Warten auf Attribute im Setup
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:33:56 +00:00
ClaudeandClaude Opus 5.5 c7c1e338a3 Rechtliches: Abloesung am selben Tag, Kartenraster auf schmalen Bildschirmen
Bei zwei gueltigen Versionen mit gleichem Beginn gilt die zuletzt angelegte;
eine am selben Tag abgeloeste Version endet nie vor ihrem Beginn.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:24:18 +00:00
ClaudeandClaude Opus 5.5 1212173cb4 Rechtliches: Appwrite-Setup-Skript und Konstanten
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:18:31 +00:00
ClaudeandClaude Opus 5.5 0105179e21 Rechtliches: Fristen- und Versionslogik mit Tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:17:13 +00:00
ClaudeandClaude Sonnet 5.5 3b6a821687 Arbeitsnachweis: Abo-Stundenkonto nur bei Kunden mit Wartungs-Abo
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-29 15:29:45 +00:00
ClaudeandClaude Opus 5.5 7b31cb5368 Roadmaps aus WOMS entfernt
Menüpunkt, die Seiten /roadmaps und /roadmaps/:id, der Roadmap-Kasten im Ticket
und die Plan-Automatik (Auto-Ticket, Knoten-Kommentare, automatischer Abschluss)
sind entfernt. Alte Links landen bei den Tickets. Die Projekt-Kontextbox im
Ticket bleibt und zeigt das zugewiesene Projekt samt den anderen Tickets des
Kunden, nur ohne Plan-Link. Die Daten in roadmaps/roadmapNodes bleiben in
Appwrite unangetastet; das Kundenportal liest sie nicht.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 19:39:25 +00:00
ClaudeandClaude Opus 5.5 50d237a932 Projekte im Ticket als eine Liste (Paket E)
- Im Details-Reiter steht eine Projektliste mit Zuweisen, Lösen und
  "Neues Projekt"; der Knopf "Projekte zuweisen / bearbeiten", der
  Dialog und die zweite Projektliste sind weg.
- Zuweisen bietet nur passende Projekte an: gleicher Kunde oder ohne
  Kunde, nicht archiviert, keine Vorlage.
- Lösen nimmt ein Projekt nur noch vom Ticket. Bisher wurde dabei auch
  die Kundenzuordnung gelöscht und der Kunde sah seine Vorschau im
  Portal nicht mehr.
- Projektkarten ohne README-Vorschau (kostete je Karte einen Abruf) und
  ohne nie befüllte Felder (Live-Domain, Commit-Box, "Preview: aktiv");
  react-markdown entfällt damit (Lockfile mit Node 20 erzeugt).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 16:19:10 +00:00
ClaudeandClaude Opus 5.5 5a066eb3c4 Kunden an einer Stelle pflegen (Paket E)
- Kundenliste startet bei "Feste Kunden" (105 von 110 Einträgen sind
  Leads der Lead-Automatik); Reihenfolge Feste Kunden, Leads, Alle, Archiv.
- Der zweite Kunden-Editor im Admin ist weg. Admins legen feste Kunden
  mit Portal-Zugang jetzt unter Kunden an ("Neuer Kunde") und löschen sie
  auf der Kundenseite ("Kunde löschen", mit Rückfrage); beides wie bisher
  über die Admin-API des Kundenportals. Die Kundenseite hat das Feld
  Standort, das es bisher nur im Admin gab.
- Die Kundenliste liest direkt aus Appwrite: die Admin-API lieferte
  Admins gekürzte Daten, Stern und InvoiceNinja-Abzeichen fehlten dort.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 16:19:10 +00:00
ClaudeandClaude Opus 5.5 1a8604f7e6 Finanzen nur noch anzeigen, Dashboard und Admin-Konfiguration entfernt (Paket D)
- Finanzen: Liste, Zahlen, PDF und Link zu InvoiceNinja bleiben. Das
  Formular "Rechnung erstellen" (auf der Seite und als "Rechnung aus
  Ticket erstellen" im Ticket) ist weg; Rechnungen entstehen direkt in
  InvoiceNinja. Das Verknüpfen von Kunden mit InvoiceNinja bleibt.
- Filter "Bezahlt" repariert: InvoiceNinja liefert status_id als Text.
- FinancePage.jsx und InvoicePanel.jsx waren Windows-1252 kodiert und
  zeigten live "�"; jetzt UTF-8, dazu Umlaute in den Texten.
- Dashboard entfernt (doppelte Finanzzahlen, "Offen" zählte falsch);
  alte Links führen zu den Tickets.
- Admin: Reiter "Konfiguration" (nur noch Prioritäten, die seit Paket B
  niemand liest) mit useAdminConfig entfernt; Admin startet bei Kunden.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 16:01:12 +00:00
ClaudeandClaude Opus 5.5 34c4db0228 Dokumente und Paperless aus WOMS entfernt (Paket C)
Paperless enthält 0 Dokumente, der Upload wurde nie benutzt. Weg sind:
die Seite Dokumente (alte Links führen zu den Tickets), der Menüpunkt,
der Reiter Dokumente in Ticketkarte und Kundenseite, der Upload-Dialog
(legte Dateien zusätzlich ungelesen im Appwrite-Bucket ab), das Feld
"Paperless-Korrespondent" und das Abzeichen "Docs", auf dem Dashboard
die Kachel Dokumente und "Dokument hochladen", im API-Client die
Paperless-Aufrufe. Gespeicherte Daten bleiben unverändert; die
Paperless-Routen im Backend ticket-integrations sind nicht angefasst.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 15:52:46 +00:00
ClaudeandClaude Opus 5.5 062d992b63 Tickets auf WEBklar zugeschnitten (Paket B)
- Status: 6 statt 10, auf Deutsch (Offen, In Arbeit, Wartet auf Kunde,
  Prüfung, Erledigt, Storniert). Gespeichert werden die Werte, die das
  Kundenportal für die Fortschrittsleiste kennt; alte Werte wie Assigned
  werden weiter angezeigt ("Eingeplant"), sind aber nicht mehr wählbar.
- Zuweisen ändert den Status nicht mehr; neue Tickets starten "Offen".
- Priorität: Schalter "Dringend" statt fünf Stufen (dringend = 4, normal
  = 2; alte Stufen Hoch/Kritisch gelten als dringend), rotes Abzeichen.
- Ticketliste: Standardansicht "Aufträge" ohne Akquise-Tickets; Filter
  Typ (Aufträge/Webpage/Migration/Projekt/Akquise/Alle), 6 Status-Gruppen,
  "Nur dringende". Die toten Felder Kunde, Benutzer/Thema und Datum sind
  durch eine echte Suche ersetzt (Kunde, Betreff, Angefragt von, WOID).
  Deep-Link ?woid= zeigt das Ticket weiter unabhängig von Art und Status.
- Formulare "Neues Ticket" und "Arbeitsblatt" auf Deutsch; raus sind
  Workload Estimate, Requested for und die Service-Art am Ticket
  (gespeichert wird weiter Fernwartung).
- Ticketkarte: Projekt/Preview im Details-Reiter (4 statt 5 Reiter), eine
  Zusammenfassungszeile statt der großen Statistik, doppelter
  Projekte-Stift weg, Service-Abzeichen weg.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 15:46:03 +00:00