Commit graph

23 commits

Author SHA1 Message Date
5ebe1636cd Merge pull request 'PWA: Service Worker v1.1 + No-Cache-Header' (#2) from claude/hopeful-liskov into main 2026-03-21 21:58:55 +01:00
ba94de5c72 PWA: Service Worker v1.1 + No-Cache-Header für pwa.php
- Service Worker Version auf v1.1 erhöht (erzwingt Cache-Invalidierung)
- pwa.php: Cache-Control no-store Header damit Browser immer die
  aktuelle HTML-Seite mit neuen JS/CSS-Versionen lädt

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-21 21:57:33 +01:00
d859cadbf4 Merge pull request 'PWA: Dezimal-Mengen, STZ-Freigabe, Notiz-Trennung' (#1) from claude/hopeful-liskov into main 2026-03-21 21:45:25 +01:00
4ca3ea5deb PWA: Dezimal-Mengen, STZ-Freigabe, Notiz-Trennung, qty_done=1
- Mengenanzeige klickbar für Dezimaleingabe (Komma), +/- bleiben Ganzzahl
- Freigeben/Wiedereröffnen-Button für einzelne Stundenzettel
- Warnung bei Freigabe ohne Leistung mit Service-Auswahl-Dialog
  (Standard-Dienstleistung des Kunden vorausgewählt)
- API: validate_stz und setdraft_stz Endpunkte
- API: default_service_id/label im get_order_context
- Produktübernahme: qty_done Standard auf 1 statt 0
- Merkzettel auf Produktliste: nur Anzeige + Abhaken, kein Hinzufügen
- Scroll-Position nach Panel-Neurendern zurücksetzen

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-21 21:42:56 +01:00
dabcdbde13 Version 2.1.0: Rechnungsübernahme erweitert
- Neuer Button "Ohne Produktgruppen" für flache Übernahme ohne Sections/Zwischensummen
- Mehraufwand-Produktgruppe über Modul-Einstellung konfigurierbar
- Standard-Bankkonto wird automatisch aus Einstellung gesetzt
- "Ihr Zeichen" (ref_client) vom Auftrag übernommen
- Extrafelder Angebotsnummer/Auftragsnummer vom Auftrag kopiert
- Verwaiste Zwischensummen werden nach Rechnungserstellung bereinigt
- Zwei neue Modul-Einstellungen: Bankkonto und Mehraufwand-Sektion

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:39:37 +01:00
8ea1180041 PWA: Merkzettel-Box auf Produktliste, Checkboxen-Fix, qty_done=1
- PWA Panel 2: Merkzettel-Notizen über der Produktliste anzeigen
  (wie auf Website stundenzettel_commande.php), mit Abhaken + Hinzufügen
- stundenzettel_commande.php: Grüne Haken entfernt, immer Checkboxen
- Produktübernahme: qty_done immer 1 statt Auftragsmenge
- Cache-Busting v2.7 → v2.8

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 19:48:25 +01:00
3c9add6864 PWA: FAB-Button auf Panel 1 entfernt, Lösch-Button für Produktzeilen
- FAB (Plus-Button unten rechts) nur noch auf Panel 0 (STZ-Liste) sichtbar,
  Panel 1 hat bereits den Inline-Button "+ Leistung hinzufügen"
- Lösch-Button (🗑️) für verbaute Produkte (order/added) im Product-Card-Header
  mit Bestätigungsdialog hinzugefügt
- Cache-Busting auf v=2.7

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 09:57:23 +01:00
292db5d40c Version 2.0.0: PWA Mobile App + Produktliste-Verbesserungen
PWA (neue Dateien):
- Vollständige Progressive Web App mit Token-basierter Auth
- 4 Swipe-Panels: Alle STZ, Stundenzettel, Produktliste, Lieferauflistung
- Kundensuche, Leistungen-Accordion, Mehraufwand-Sektion
- Produkt-Übernahme aus Auftrag + Mehraufwand in STZ
- Service Worker, Manifest, App-Icons für Installation

Desktop-Änderungen:
- Produktliste: Checkboxen immer sichtbar (außer bereits auf STZ)
- Lieferauflistung: Vereinfachte Ansicht (nur Verbaut-Spalte)
- Admin: PWA-Link in Einstellungen
- Sprachdatei: PWA-Übersetzungen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 21:21:14 +01:00
6257713e5b Version 1.8.0: Rücknahmen und Einkaufspreise in Rechnungsübernahme
- Rücknahmen (returned) werden bei Rechnungsübertragung abgezogen
  - Mehraufwand: Matching über fk_product bzw. MD5 der description
  - Auftragspositionen: Matching über fk_commandedet
  - Effektive Menge ≤ 0 → Produkt wird nicht übernommen
- Einkaufspreise (buy_price_ht/pa_ht) werden automatisch gesetzt
  - Priorität: cost_price > Lieferanten-Stückpreis > PMP
  - Lieferanten-unitprice statt PMP verhindert falsche Margen bei Meterware

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 18:01:51 +01:00
a69e308a68 Version 1.7.0: Rücknahme-Anzeige und Filter verbessert
- Rücknahmen mit rotem Badge (-X) bei Beauftragt und Verbaut
- Rücknahmen werden von der Zielmenge abgezogen (nicht wieder verbauen)
- Status zeigt "Erledigt" wenn alles zurückgenommen wurde
- Mehraufwand-Bereich wird nach Filter (offen/erledigt) gefiltert
- Tracking-Tab berücksichtigt Rücknahmen korrekt
- Freitext-Rücknahmen werden über description gematcht
- Bugfix: product_label bei Freitext-Rücknahmen korrekt gesetzt
- Dokumentation und Berechtigungen aktualisiert

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-23 10:17:06 +01:00
41166811dd CSS: Dark Mode via prefers-color-scheme + Dolibarr Theme Fallback
Hintergrundfarben-Klassen reagieren jetzt auf OS Dark Mode
(für Dark Reader und mobilen Dark Mode). Dolibarr theme-eldy-dark
als Fallback beibehalten.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 19:29:34 +01:00
c9cbd54fa3 Version 1.6.0: Stundenübernahme-Modus, Leistungsbeschreibungen, Bugfixes, Dark Mode
- Neues Extrafeld 'stundenzettel_hours_mode' am Auftrag: Gruppiert oder Pro Stundenzettel
- Leistungsbeschreibungen werden per GROUP_CONCAT in Rechnungszeilen übernommen
- Bugfix: Rücknahme-Dropdown zeigt jetzt auch manuell hinzugefügte Produkte (fk_commandedet=NULL)
- Bugfix: Entfällt berücksichtigt Freitext-Produkte korrekt (fk_product IS NULL)
- Bugfix: NULL-Handling für fk_product in 5 SQL-Queries (card.php + stundenzettel_commande.php)
- Bugfix: Rechnungsübernahme inkl. origin='added' Produkte ohne Auftragszeile
- Bugfix: Tracking-Tab zeigt alle Mehraufwand/zusätzlich verbauten Produkte
- Dark Mode: Hardcodierte Hintergrundfarben durch CSS-Klassen mit Variablen ersetzt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 19:21:03 +01:00
585d530992 Version 1.5.0: Rücknahme-Bereich, Checkbox-Sichtbarkeit, Berechtigungen
- Neuer Rücknahme-Bereich (origin='returned') für zurückgenommene Produkte
- Checkbox-Logik für Bereiche: Entfällt, Mehraufwand, Rücknahme, Merkzettel
- Admin-Einstellungen für Standard-Sichtbarkeit der Bereiche
- Erweiterte Berechtigungen: eigene vs alle (read/write/delete)
- Tracking-Berechnung: qty_returned wird von Liefermenge abgezogen
- Mobile-freundliches Layout beibehalten

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 12:00:26 +01:00
fe2eb751c2 Version 1.4.0: Dezimalmengen, Direktlinks, Menü-Cleanup
- Dezimalmengen in allen Produktfeldern (Produkte, Mehraufwand, Entfällt)
- Button "Stundenzettel öffnen" funktioniert ohne Checkbox-Auswahl
- Direktlink zum Stundenzettel-Tab in der Listenansicht
- Linkes Menü: nur Übersicht mit Icon, Rest ohne
- Aktions-Icons in Listenansicht mit Abstand

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 19:31:16 +01:00
41973f0231 Version 1.3.0: Netto STZ Spalte in Auftragsliste
- Neue Spalte "Netto STZ" zeigt Netto-Wert aller freigegebenen Stundenzettel
- Berechnung bei Freigabe/Wiedereröffnung von einzelnen oder allen Stundenzetteln
- Arbeitsstunden verwenden Preis der gewählten Leistungsposition (nicht mehr Kunden-Standard)
- Unterstützt kundenspezifische Preise für Produkte und Leistungen
- Extrafeld stundenzettel_netto wird bei Modulaktivierung erstellt
- Debug-Script debug_netto.php für Fehleranalyse
- Deutsche Übersetzungen für Meldungen ergänzt
- Formular-Verbesserung: Enter-Taste und Save-Button bei Produktmengen

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 20:18:04 +01:00
192cdad8e0 Dokumentation: Mobile Features aktualisiert
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 19:19:21 +01:00
f1afcc6a22 Mobile CSS: Dark Mode Support + Textarea volle Breite
- Hardcodierte Farben durch CSS-Variablen ersetzt
- Dark Mode Fallback für Dolibarr Themes hinzugefügt
- Beschreibungs-Textarea nutzt jetzt volle Breite auf Mobile
- opacity statt fester Farbe für Beschreibungstext

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 19:17:08 +01:00
d0e867aba3 Mobile UX: Formulare und Anzeige optimiert
- Beschreibungsfelder bei Leistung/Mehraufwand/Entfällt auf
  separate Zeile für Mobile (bessere Bedienbarkeit)
- Grund/Beschreibung wird auf Mobile klein unter dem
  Produktnamen angezeigt (spart Platz)
- Spalte "Beschreibung" auf Mobile ausgeblendet
- Action-Buttons sticky am unteren Bildschirmrand
- Tabs horizontal scrollbar statt umbruch
- Verbesserte Touch-Targets und Abstände

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 19:10:37 +01:00
2b3514f762 CSS Mobile: Komplett überarbeitet - weniger invasiv
- Tabellen-Layout bleibt erhalten (kein display:block mehr)
- Spaltenbreiten werden nur reduziert, nicht versteckt
- Horizontales Scrollen in Tabellen-Containern ermöglicht
- Touch-Targets für Icons vergrößert
- Font-Size 16px für Inputs (verhindert iOS-Zoom)
- Pixel 3a kompatibel (393px Viewport)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 18:48:38 +01:00
15fec1e8df Fix: CSS-Einbindung mit file_exists() absichern
- filemtime() warf Fehler wenn CSS-Datei nicht existiert
- Alle Update 1.2.0 Felder werden jetzt bei Aktivierung geprüft/angelegt
- SQL-Update-Skript erweitert

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 18:45:37 +01:00
f74f710717 V 1.2.0 - Dokumentation aktualisiert
- Changelog für Version 1.2.0 hinzugefügt
- Neue Features dokumentiert:
  - Leistungsposition pro Arbeitszeit
  - Mobile-optimierte Ansicht (Responsive CSS)
  - Erweiterte Lieferauflistung
  - Verbesserte Tab-Navigation
  - Layout-Verbesserungen

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 17:23:25 +01:00
6bfc565121 Fehler beseitigt, Leistungspositonen pro Stundenzettel, Kundenpreis berücksichtigt,
Prototyp Handy ansicht
2026-02-08 17:19:47 +01:00
9627e4fea4 V 1.1 2026-02-07 21:14:51 +01:00