Initial commit with all bug and compliance fixes
- Remove double pSQL() escaping in Db::insert/update calls (data corruption fix) - Rename honeypot field from 'website' to 'cyp_hp_v1' to prevent browser autofill false positives - Wrap Mail::Send() in try/catch; capture shop notification result to detect failures - Scope order lookup to current shop (multi-shop fix) - Translate scope_label and email subjects per language (de/en) - Make formatDateTimeForMail() language-aware - Add GDPR Art. 13 privacy notice to withdrawal form - Add configurable privacy policy URL and Widerrufsbelehrung link - Add configurable retention period and manual purge button in admin settings - Show full submitted data on success page as proper receipt - Fix admin redirect URL format in processStatusUpdate() - Remove IP/UA hash display from admin detail view (GDPR data minimization)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# cyp_withdrawalbutton
|
||||
|
||||
Minimales PrestaShop-Modul für eine elektronische Widerrufsfunktion.
|
||||
|
||||
## Enthaltene Funktionen
|
||||
|
||||
- Footer-Link **„Vertrag widerrufen“** über `displayFooter`
|
||||
- zusätzlicher Link im Kundenkonto über `displayCustomerAccount`
|
||||
- öffentliches Formular ohne Login-Zwang
|
||||
- vollständiger Widerruf oder Teilwiderruf per Freitext
|
||||
- zweistufiger Ablauf:
|
||||
- Schritt 1: Angaben prüfen
|
||||
- Schritt 2: **„Widerruf bestätigen“**
|
||||
- Speicherung in eigener Tabelle `ps_cyp_withdrawal_request`
|
||||
- automatische Eingangsbestätigung per E-Mail an den Verbraucher
|
||||
- interne Benachrichtigung per E-Mail an den Shopbetreiber
|
||||
- einfache Backoffice-Liste **Widerrufe**
|
||||
- Statusverwaltung: `new`, `processing`, `closed`
|
||||
- CSRF-Token, Honeypot und simples Rate-Limit
|
||||
|
||||
## Installation
|
||||
|
||||
1. ZIP-Datei in PrestaShop unter **Module > Module Manager > Modul hochladen** hochladen.
|
||||
2. Modul installieren.
|
||||
3. In der Modulkonfiguration die Benachrichtigungs-E-Mail prüfen.
|
||||
4. Frontend-Link öffnen und Testwiderruf ausführen.
|
||||
5. Prüfen, ob Kunden-E-Mail und Shop-E-Mail ankommen.
|
||||
6. Im Backoffice unter **Bestellungen > Widerrufe** prüfen, ob der Datensatz sichtbar ist.
|
||||
|
||||
## Wichtige Hinweise
|
||||
|
||||
- Das Modul bestätigt nur den **Eingang** des Widerrufs, nicht dessen rechtliche Wirksamkeit.
|
||||
- Die normale Widerrufsbelehrung, Datenschutzerklärung und ggf. AGB müssen separat aktualisiert werden.
|
||||
- Beim Deinstallieren löscht das Modul die gespeicherten Widerrufe **nicht**, weil diese rechtlich relevant sein können.
|
||||
- Die Version ist bewusst minimal. Sie erzeugt keine Retourenlabels und führt keine automatische Erstattung aus.
|
||||
|
||||
## Kompatibilität
|
||||
|
||||
Entwickelt als klassisches PrestaShop-Legacy-Modul für PrestaShop 1.7.8+ / 8 / 9. Getestet wurde hier nur syntaktisch außerhalb eines echten PrestaShop-Systems. Vor Live-Nutzung unbedingt in einer Staging-Umgebung testen.
|
||||
Reference in New Issue
Block a user