Technische Angaben¶
Diese Seite richtet sich an Administratoren und an Ihre IT — anders als die übrigen Seiten nennt sie bewusst technische Bezeichnungen. Für die tägliche Arbeit brauchen Sie sie nicht.
Eckdaten¶
| Angabe | Wert |
|---|---|
| Technische Bezeichnung | gb_withdrawal |
| Version | 19.0.1.0.7 (Odoo 19.0) |
| Kategorie | Website |
| Abhängigkeiten | mail, website |
| Lizenz | OPL-1 |
| Hersteller | GlobalBases.com GmbH, info@globalbases.com |
Das Modul ist ohne Verkauf und ohne Buchhaltung lauffähig. Zwei optionale Erweiterungen bauen darauf auf:
| Erweiterung | Zusätzliche Abhängigkeit | Zweck |
|---|---|---|
gb_withdrawal_sale |
sale |
Schaltflächen Bestellung widerrufen im Kundenkonto; Verkaufsbenutzer erhalten die Berechtigung Widerrufe Benutzer. |
gb_withdrawal_account |
account |
Anknüpfungspunkt für den Widerruf-Hinweis in der Rechnungs-E-Mail. Automatisch eingefügt wird derzeit nichts. |
Sprachen¶
Die Quellsprache des Moduls ist Englisch; eine vollständige deutsche Übersetzung wird
in i18n/de.po mitgeliefert. Menü, Spalten, Feldbeschriftungen, Status,
Abschnittsüberschriften, Schaltflächen, der Einstellungsblock, das Formular auf der
Website und die beiden Bestätigungs-E-Mails erscheinen daher jeweils in der Sprache des
Benutzers bzw. der Website. Weitere Sprachen lassen sich ohne Codeänderung ergänzen, weil
alle Zeichenketten übersetzbar sind.
Installation und Update¶
- Aktivieren Sie den Entwicklermodus und aktualisieren Sie die App-Liste.
- Installieren Sie Widerrufsfunktion über Apps.
- Nach dem Einspielen einer neuen Modulfassung führen Sie ein Update des Moduls durch
(
-u gb_withdrawal), damit Textänderungen und Migrationsschritte greifen.
Beim Update von einer Fassung vor 19.0.1.0.4 setzt ein Migrationsschritt den Betreff
beider E-Mail-Vorlagen einmalig auf die gemeinsame Betreffzeile.
Das Widerrufs-Objekt¶
Alle Widerrufe liegen im eigenen Objekt gb.withdrawal. Es hängt am Nachrichtenverlauf
(mail.thread), wird absteigend nach Eingang sortiert und trägt als Bezeichnung die
Referenz.
Die Referenz stammt aus der Nummernfolge gb.withdrawal: Präfix WID-, sechs Stellen,
lückenlos (no_gap). Sie finden sie unter Einstellungen → Technisch → Sequenzen.
| Feld | Typ | Inhalt |
|---|---|---|
name |
Text | Referenz WID-######, vergeben beim Anlegen |
customer_name, customer_email |
Text | Angaben des Verbrauchers, Pflicht |
contract_ref |
Text | Bestell- oder Vertragsnummer, Pflicht, ohne Prüfung |
withdrawal_reason, remark |
Text | freiwillige Angaben |
confirmation_text |
Text | Wortlaut der Pflichtcheckbox zum Zeitpunkt des Widerrufs |
website_id, website_name, lang |
Verknüpfung / berechneter Text / Text | Website und Sprache des Eingangs. Im Formular erscheint website_name — ein berechneter, nicht gespeicherter Name, nicht die Verknüpfung |
state |
Auswahl | new, in_progress, done, rejected |
submitted_at, done_at, rejected_at |
Datum/Zeit | Zeitpunkte des Eingangs und der Statuswechsel |
deadline_passed, goods_received, goods_damaged, refund_instructed, rejected_checkbox |
Ja/Nein | Bearbeitungsschritte, je mit Feld …_at für den Zeitpunkt |
mail_customer_sent, mail_operator_sent |
Ja/Nein | Ergebnis des Versands der beiden Eingangs-E-Mails |
active |
Ja/Nein | archiviert, wenn nicht gesetzt |
Automatik beim Speichern¶
- Beim Anlegen werden Referenz und Eingangszeitpunkt gesetzt und die beiden Eingangs-E-Mails sofort versendet.
- Ware angekommen, Ware beschädigt oder Rücküberweisung angewiesen heben den Status von Neu auf In Bearbeitung. Frist verstrichen tut das nicht, und aus einem anderen Status als Neu heraus geschieht es ebenfalls nicht.
- Widerruf abgelehnt setzt den Status auf Abgelehnt.
- Das Datumsfeld eines Hakens wird beim Anhaken gesetzt und beim Abhaken geleert; die vollständige Historie bleibt im Nachrichtenverlauf.
- Zwei Regeln werden hart geprüft: Ware beschädigt nur mit Ware angekommen, und Rücküberweisung angewiesen schließt Widerruf abgelehnt aus.
Die Formularadresse¶
| Angabe | Wert |
|---|---|
| Adresse | /widerrufsfunktion (GET und POST, kein Redirect von /widerruf) |
| Zugang | öffentlich, ohne Anmeldung; im Sitemap enthalten |
| Schutz | CSRF-Token je Formular, verstecktes Spam-Feld company_url |
| Pflichtfelder | Name, E-Mail, Bestell- oder Vertragsnummer |
| Schritte | review (prüfen), back (zurück), submit (verbindlich absenden) |
| Vorbefüllung | ?ref=<Nummer> füllt die Bestellnummer; bei angemeldeten Kunden zusätzlich Name und E-Mail aus dem Kontakt |
Ist Widerruf-Modul aktiv für die Website ausgeschaltet, antwortet die Adresse mit „nicht gefunden". Eine ausgefüllte Spam-Falle führt zur Bestätigungsseite, ohne dass ein Widerruf angelegt wird.
Die Schaltfläche Widerruf verbindlich absenden wird erst durch das Setzen der Pflichtcheckbox freigeschaltet; dafür sorgt eine kleine Skriptdatei des Moduls im Frontend.
E-Mails¶
Beim Eingang gehen zwei E-Mails hinaus, beide mit demselben Textbaustein und demselben Betreff.
| Vorlage | Empfänger |
|---|---|
| Widerruf: Bestätigung an Verbraucher | Adresse aus dem Formular |
| Widerruf: Benachrichtigung an Betreiber | Betreiber-E-Mail der Website, ersatzweise die E-Mail-Adresse der Firma |
Sie finden beide unter Einstellungen → Technisch → E-Mail-Vorlagen.
- Absender: E-Mail-Absender der Website, ersatzweise die E-Mail-Adresse der Firma, zuletzt die des ausführenden Benutzerkontos.
- Betreff: „Widerruf
<Referenz>vom<Datum>| Bestellung<Bestellnummer>", in der jeweiligen Sprache. Er steht in beiden Vorlagen als berechneter Ausdruck im Feld Betreff und lässt sich dort durch einen eigenen Text ersetzen; eine solche Änderung bleibt bei einem Modul-Update erhalten. Je Website unterscheiden lässt er sich nicht. - Sprache: Sprache des Widerrufs, ersatzweise die Fallback-Sprache der Website, ersatzweise die Sprache des Systems. Ist eine Sprache nicht installiert, wird auf die passende installierte Sprachfamilie und zuletzt auf Englisch ausgewichen.
- Versand: sofort. Erfolg und Fehler stehen im Nachrichtenverlauf des Widerrufs; ein fehlgeschlagener Versand verhindert nicht das Anlegen des Vorgangs.
Der Mailtext steht nicht in der Vorlage
Beide Vorlagen enthalten im Textkörper keinen eigenen Text, sondern rufen einen gemeinsamen Textbaustein auf („Withdrawal Email Body" — der Name bleibt auch in einem deutschen Odoo englisch; zu finden unter Einstellungen → Technisch → Benutzeroberfläche → Ansichten). Dieser Baustein wird bei jedem Modul-Update neu eingespielt — Änderungen daran gehen dabei verloren. Erhalten bleiben dagegen die Vorlagen selbst: Betreff, Absender, Empfänger und auch ein Text, den Sie direkt im Textkörper der Vorlage anstelle des Aufrufs hinterlegen.
Einstellungen je Website¶
Die Einstellungen aus Konfiguration liegen am Website-Datensatz und gelten daher je Website. Übersetzbar sind Button-Text, Einleitungstext, Bestätigungsseitentext und Pflichtcheckbox-Text.
Rechte¶
| Gruppe | Lesen | Anlegen | Bearbeiten | Löschen |
|---|---|---|---|---|
| Widerrufe Benutzer | ja | ja | ja | nein |
| Widerrufe Administrator | ja | ja | ja | ja |
Beide Gruppen sehen alle Widerrufe, unabhängig von Website und Zuständigkeit. Eine
Einschränkung je Website ist nicht vorgesehen. Die Erweiterung gb_withdrawal_sale
verleiht Verkaufsbenutzern automatisch die Gruppe Widerrufe Benutzer.
Prüfen der Installation¶
Das Modul bringt automatisierte Tests mit: Prüfungen des Objekts (Referenzvergabe, Statuslogik, Regeln der Bearbeitungshaken, Betreff und Sprache der E-Mails), Prüfungen der Formularadresse (Pflichtfelder, Prüfschritt, Spam-Falle, abgeschaltetes Modul) und einen Oberflächentest für die Freischaltung der Absende-Schaltfläche.
odoo -d <datenbank> -i gb_withdrawal --test-enable --stop-after-init
Aufbewahrung und Datenschutz¶
Ein Widerruf enthält Name, E-Mail-Adresse und die Angaben des Verbrauchers im Klartext. Es gibt keine automatische Löschung und keine Aufbewahrungsfrist im Modul. Nicht mehr benötigte Vorgänge werden archiviert; das endgültige Löschen bleibt der Berechtigung Widerrufe Administrator vorbehalten. Der Nachrichtenverlauf enthält zusätzlich alle Statuswechsel und die versendeten E-Mails.
Bekannte Einschränkungen dieser Version¶
- Der Schalter Honeypot aktiv hat keine Wirkung: die Spam-Falle ist immer aktiv.
- Der Link zur Widerrufsbelehrung wird gespeichert, aber auf dem Formular nicht automatisch angezeigt.
- Die Bestell- oder Vertragsnummer wird gegen keinen Auftrag und keine Rechnung geprüft.
- Ein Widerruf-Hinweis wird nicht automatisch in die Auftragsbestätigungs- oder die Rechnungs-E-Mail eingefügt. Das Modul bringt dafür zwar einen Baustein mit, doch keine der beiden Erweiterungen ruft ihn in dieser Serie auf; der Hinweis wird je Projekt eingerichtet.