Commit Graph
62 Commits
Author SHA1 Message Date
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 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 Opus 5.5 24e4f054c4 Unterstützung: Anzeige in Arbeitsblatt-Liste und Gesamtzeit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:00:07 +00:00
ClaudeandClaude Opus 5.5 bc9d673ff7 Unterstützung: Mitarbeiter tragen sich selbst als Unterstützung ein
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:58:58 +00:00
ClaudeandClaude Opus 5.5 d83bbfb48d Unterstützung: Ersteller trägt helfende Personen im Arbeitsblatt ein
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:57:46 +00:00
ClaudeandClaude Opus 5.5 3535f18a2b Arbeitszeit nur in 15-Minuten-Schritten, berechnete Zeit wird aufgerundet
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:55:06 +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 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 6323b830d7 Leads pausiert: Menuepunkt grau und nicht klickbar, /leads leitet auf Tickets um
Die Lead-Automatik ist gestoppt und die automatisch angelegten Kunden
sind geloescht; das Leads-Projekt liegt auf Eis.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 12:25:10 +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 3a3e43d5ec Projektliste: nach dem Schließen nicht mehr nachladen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:41:35 +00:00
ClaudeandClaude Opus 5.5 3e3a9a3bbd Inline-Projektliste: neue Repos, Zuweisen mit Umzug, Preview einschalten, Pushes nachtragen
Implementiert auf TicketProjects.jsx (Paket-E-Inline-Liste) statt des
frueheren Dialogs, gemaess Controller-Ruling R3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:41:35 +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 67b9439145 Rechtliches: Seite mit Rechtstexten und Anbieter-Vertraegen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 10:20:54 +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 b05f49621c Kontextbox im Ticket: andere Tickets gut lesbar
Die Links auf die anderen Tickets des Kunden hatten keine eigene Farbe und
erschienen im dunklen Design in Browser-Blau (#0000ee), kaum lesbar, dazu
unterstrichen. Sie nutzen jetzt die normale Textfarbe ohne Unterstreichung,
wie die übrigen Listenzeilen (.list-row).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 19:44:29 +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 31144148d1 Menü als flache Liste (Paket E)
Acht Einträge ohne Gruppenüberschriften: Tickets, Planboard, Roadmaps,
Projekte, Kunden, Leads, Finanzen und für Admins Admin.

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
ClaudeandClaude Opus 5.5 bf007df737 Abo-Umschalter in der Arbeitsblatt-Liste eingebaut
Der Knopf "+ Abo" / "✓ Abo" (Arbeitszeit vom Stundenguthaben des
Wartungs-Abos abziehen) war seit cf1d653 nur in der toten Ticketzeile
angeschlossen und deshalb nie sichtbar. Jetzt hängt er an der echten
Ticketkarte: bei jedem Arbeitsblatt mit Arbeitszeit, auch bei Git-Pushes
mit nachgetragener Zeit; Kommentare und offene Pushes haben keinen.
Der Hinweis "Abo-Stunden" ist jetzt lesbar (weiße Schrift, Abstand).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 14:56:53 +00:00
ClaudeandClaude Opus 5.5 b758b1f9a7 Demo-Modus entfernt
isDemoMode war nie aktiv: appwrite.js hat immer eine Projekt-ID als
Fallback. Weg sind die Demo-Zweige in Anmeldung und Hooks sowie die
Beispieldaten aus der alten IT-Welt (Serverausfall, Drucker, Kunde A–E).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 14:36:33 +00:00
ClaudeandClaude Opus 5.5 d684aea576 Toten Code entfernt
Nie importierte Dateien (rund 1.900 Zeilen): die alte Ticketzeile
TicketRow mit ihren Hilfsdialogen EditWorksheetTimeModal und
ResponseDropdown, TicketFilters, WebpageProjectPanel, ModernSidebar
(+ lib/utils), die three.js-Animation PixelBlast und createDummyTicket.
Dazu die Helfer, die nur diese Dateien benutzt haben
(isTemplateProject/getAvailableProjects, WEBPAGE_TICKET_TYPE,
PREVIEW_TEMPLATE_NAME), die nicht existierenden Collections users und
attachments, getWorksheetsByEmployee und der nur von TicketRow benutzte
zweite "Zeit nachtragen"-Weg in der Arbeitsblatt-Liste.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 14:33:37 +00:00
ClaudeandClaude Opus 5.5 8d2a99e5d6 Schnellübersicht und Status-Verlauf entfernt
- "Schnelluebersicht" war eine englische Alt-Tabelle ("WOMS Ticket Quick
  Overview ... EOL =)"), die nur die Ticketliste wiederholte.
- Der "Verlauf"-Knopf zeigte nur Statuswechsel aus Arbeitsblättern (bisher
  zwei); jeder Wechsel steht weiterhin im jeweiligen Arbeitsblatt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 14:32:43 +00:00
ClaudeandClaude Opus 5.5 cbf77004ad Platzhalter-Seiten Assets, Reports und Docs entfernt
Die drei Seiten hatten keine Funktion (feste Nullen, ein alert(),
drei Beispielsätze). Alte Links und unbekannte Adressen führen jetzt
zu den Tickets statt auf eine leere Seite; Menügruppen ohne Eintrag
werden nicht mehr angezeigt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 14:32:17 +00:00
ClaudeandClaude Opus 5.5 2d4e569cc3 Arbeitsblätter: Git-Push nach dem Nachtragen grün, Kommentare blau
- Git-Pushes bleiben orange mit "Zeit offen", bis Beginn und Minuten
  nachgetragen sind; danach grün mit "Zeit eingetragen".
- Kommentare sind blau statt grün, damit Grün nur noch "erledigt" heißt.
- Hinweise im farbigen Kopf in weißer Schrift (vorher kaum lesbar).
- Pro Ticket werden alle Arbeitsblätter geladen (Appwrite lieferte ohne
  limit nur 25), zugeklappte Ticketkarten laden gar keine mehr.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 14:29:36 +00:00
ClaudeandClaude Opus 5.5 0c884a57d7 Arbeitsblätter: Zeit für eigene Git-Pushes nachtragen
70 von 78 Arbeitsblättern sind Git-Pushes, die das Kundenportal mit
employeeId "gitea" anlegt; in employeeName steht der Gitea-Name des
Pushers ("knso", "ANDJ", "JUSN" oder der volle Name). Sie gehören dem
Mitarbeiter mit diesem Kürzel oder Namen - der eigene employees-Eintrag
kommt jetzt aus dem AuthContext.

Bei offenen Pushes heißt der Button "Zeit nachtragen": Beginn ist Pflicht,
das Ende ist der Push. Beim Speichern wird isComment false, damit die Zeit
in der Arbeitszeit zählt (wie früher im Modal der alten Ticketzeile).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 09:55:34 +00:00
ClaudeandClaude Opus 5.5 149b38b94b Arbeitsblätter: Zeiten nachträglich bearbeiten, nur für den Ersteller
Eigene Arbeitsblätter (employeeId = angemeldeter Benutzer, kein reiner
Kommentar) bekommen im Kopf den Button "Zeiten bearbeiten". Der Dialog
ändert Beginn, Ende und Arbeitszeit; die Minuten rechnen wie beim Anlegen
mit, von Hand eingetragene Minuten bleiben stehen. Gespeichert werden nur
die fünf Zeitfelder, wieder als dd.mm.yyyy / hhmm.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 09:36:19 +00:00
ClaudeandClaude Opus 5.5 e678899141 Arbeitsblatt-Formular erneuert: Kalender, deutsche Service-Art
- Start und Ende mit Kalender und Uhrzeitfeld (gemeinsame Komponente
  DateTimeInput, auch im Ticketformular); gespeichert weiter als
  dd.mm.yyyy / hhmm, das Ende rückt mit, wenn der Start später liegt
- Service Type nur noch "Fernwartung (remote)" oder "Vor Ort beim Kunden",
  vorbelegt vom Ticket; COMMENT entfällt (dafür gibt es "Nur Kommentar")
- Minuten werden aus den Uhrzeiten berechnet (über Mitternacht weiter)
- Minutenfeld nimmt ganze Minuten: mit step 15 ließ der Browser berechnete
  Zeiten wie 70 Minuten nicht absenden
- Arbeitsblatt-Liste und -Statistik zeigen die Service-Art auf Deutsch
  (Remote und altes Off Site zusammen als Fernwartung)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 19:59:07 +00:00
ClaudeandClaude Opus 5.5 8cb0bb8146 Affected System und Response Level aus der Oberfläche entfernt
- Arbeitsblatt: Feld "New Response Level" entfernt; ein Statuswechsel
  schreibt am Ticket nur noch den Status
- Arbeitsblatt-Verlauf: Zeile "Response Level: alt -> neu" entfernt
- Ticketkarte: System-Badge alter Tickets entfernt
- Schnellübersicht: Spalte "System" entfernt
- Ticketfilter: Auswahl "System" entfernt (wurde ohnehin nie abgefragt)
- Kundendetails: Ticketzeile zeigt nur noch die Art statt "Art · System"

Die Werte bleiben in der Datenbank erhalten.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 19:45:12 +00:00
ClaudeandClaude Opus 5.5 d6becf0151 Ticketkarte und Admin an das neue Formular angepasst
- Ticketkarte: Response-Level-Auswahl entfernt; Service Type als
  "Fernwartung" / "Vor Ort" (altes "Off Site" zählt als Fernwartung)
- Admin > Konfiguration: Ticketarten, Systeme, Reaktions- und Leistungsarten
  ausgeblendet, da das Formular sie fest vorgibt; editierbar bleiben die
  Prioritäten, die Listen bleiben beim Speichern im Config-Dokument erhalten
- Kaputtes Trennzeichen "�" wieder "·" (Ticketkarte, Kundenliste, Kundendetails)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 19:39:13 +00:00
ClaudeandClaude Opus 5.5 d86f9c07cd Neues Ticket: Formular entschlackt, Kalender und Autovervollständigung
- Work Order Type nur noch Webpage und neu Migration (Kunde kommt von anderem Anbieter)
- Affected System, Response Level und Benachrichtigungsfelder entfernt
- Service Type: Fernwartung (remote) oder Vor Ort beim Kunden, Standard Fernwartung;
  gespeichert werden weiter "Remote" / "On Site"
- Start und Ende mit Kalender und Uhrzeitfeld; gespeichert weiter als dd.mm.yyyy / hhmm
- Requested by/for schlagen Kunden, Mitarbeiter und Namen aus den letzten Tickets vor,
  die des gewählten Kunden zuerst
- Neue Tickets speichern Kundenname und Ort (die Karte zeigte sonst "Unbekannt")
- Ticketfilter kennt Webpage und Migration

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 19:30:29 +00:00
ClaudeandClaude Opus 5.5 cf1d653eb2 Wartungs-Abo: Worksheets als Abo-Stunden markieren
Haken beim Anlegen + Umschalter in der Worksheet-Liste setzen
worksheets.countsToPlan. Nur markierte Arbeitszeit wird im Kundenportal
vom Abo-Stundenguthaben abgezogen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 12:04:44 +00:00
ClaudeandClaude Fable 5 98601b4b3d feat(roadmaps): Ticket-Integration — Roadmap-Panel + Projekt-Kontextbox
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 20:01:21 +00:00
ClaudeandClaude Fable 5 3cc6ab3343 feat(roadmaps): Steckbrett-Board mit SVG-Kanten, Detail-Panel und Abschluss-Automatik
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 19:59:37 +00:00
ClaudeandClaude Fable 5 d7f9cf75a3 feat(roadmaps): Hooks, Routing, Sidebar-Tab und Übersichtsseite
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 19:55:47 +00:00
knsoandClaude Fable 5 1cec319fa8 feat: CRM-Tab Leads - Lead-Visualisierung aus Appwrite + Sucheinstellungen der 06:00-Routine
- Neue Seite /leads unter CRM: Lead-Karten (Score, Google-Bewertung,
  Website-Status, Kontakt, Maps/Website/Repo-Links), KPI-Zeile,
  Status-Workflow (neu/kontaktiert/interessiert/gewonnen/abgelehnt),
  Notizen, Portal-Zugangsdaten
- Sucheinstellungen (Branche, Staedte oder ganz Deutschland, max. Leads
  pro Stadt, Mindestbewertung, E-Mail-Pflicht, Website-Kriterium,
  Zusatzhinweise) -> Appwrite leadSettings, gelesen von der Routine
  ueber webklar-hook /config
- Ersetzt die Excel-Masterliste als Lead-Ansicht

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 18:09:23 +00:00
knsoandClaude Fable 5 ff536b048f feat: Zeit nachtragen fuer Git-Push-Worksheets
Git-Pushes erzeugen Worksheets mit automatischer Endzeit (Push-Zeitpunkt),
aber ohne Startzeit. Neu:
- WorksheetList: Pille 'Zeit offen' + Button 'Zeit nachtragen' bei
  GIT-Worksheets ohne Startzeit/Arbeitszeit
- EditWorksheetTimeModal: Startdatum/-zeit erfassen, Arbeitszeit wird live
  berechnet (inkl. Uebernacht-Logik), speichert via updateWorksheet und setzt
  isComment=false, damit der Eintrag in der Arbeitszeit-Statistik zaehlt

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 18:10:10 +00:00
Webklar Deploy f76b738f5f feat: rebuild admin account management and ticket assignment 2026-07-11 15:19:54 +00:00
Webklar DeployandCursor a1cb90372f feat: CRM-Stufen (Lead/Kunde) + InvoiceNinja-Sync (eine Pflege)
- Zwei Kundenstufen: Lead (potenziell) und fester Kunde; Lead braucht nur
  Unternehmen + E-Mail und erzeugt automatisch ein Akquise-Ticket
- Akquise-Worksheet-Ergebnis (In Kontakt/Zugesagt/Abgesagt) sichtbar in WSIDs;
  "Zugesagt" macht den Lead automatisch zum festen Kunden, "Abgesagt" -> verloren
- Kunde wird nur in Appwrite gepflegt und automatisch als InvoiceNinja-Client
  angelegt/aktualisiert (beim Upgrade bzw. bei Datenpflege)
- Rechnungen nur fuer feste Kunden mit vollstaendigen Daten (Strasse/PLZ/Stadt)
- Kundenliste mit Stufen-Filter, neue Rechnungs-/Adressfelder

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 11:18:28 +00:00
Webklar DeployandCursor 7d764ce6bc chore: Debug-Instrumentierung aus TicketCard entfernt
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:54:28 +00:00
Webklar DeployandCursor 1006824375 fix: Ticket-Dropdown nicht mehr abgeschnitten (overflow visible auf .tcard)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 10:49:53 +00:00