New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config changes are not applied to existent order #148

Closed
cmb69 opened this Issue Jul 30, 2017 · 2 comments

Comments

Projects
None yet
2 participants
@cmb69
Member

cmb69 commented Jul 30, 2017

Siehe https://cmsimpleforum.com/viewtopic.php?f=16&t=12956&p=61511#p61511:

Ich denke, wir sollten in Order::__wakeup() die Mehrwertsteuersätze aus der aktuellen Konfiguration setzen, und ::refresh() aufrufen.

@cmb69 cmb69 added this to the 1.0rc1 milestone Jul 30, 2017

@frase-git

This comment has been minimized.

Collaborator

frase-git commented Jul 31, 2017

Wir haben hier ein ensthaftes Problem.

Was passiert, wenn/während der Betreiber Änderungen vornimmt (Preise, Versandkosten, Steuern)?

Theoretisch müsste während jeglicher Konfig-Änderung und während jeder Artikel-Bearbeitung der Shop geschlossen werden (Wartungsmodus).

Theoretisch müsste nach jeder Änderung der Systemcheck automatisch ausgeführt werden. Evtl. im Hintergrund, damit man weiterarbeiten kann. Falls der Check Fehler findet, mindestens ein optischer Hinweis - oder die Check-Seite aufrufen.

An Tankstellen erhalte ich meinen Treibstoff zu dem Preis, der zum Zeitpunkt des Einfüllens aktiv war. Was danach passiert, ist egal. Das müsste im Shop theoretisch genau so sein: Zeitpunkt von "in den Warenkorb" bis Step 3. Das geht aber nicht, weil man nachträglich z.B. die Menge ändern könnte.
Also müsste während eines Bestellvorgangs geprüft werden, ob sich an irgendeiner Konfiguration etwas geändert hat. :(

Das sind ein paar Überlegungen, die mir in den letzten Wochen gar nicht in den Sinn gekommen sind.
Die erste Fehlermeldung von Hartmut brachte mich aber jetzt dazu.
Beim Shop handelt es sich ja nicht um irgendein x-beliebiges Komfort-Plugin - nein, Fehler könnten rechtliche Konsequenzen haben. Für wen auch immer.

@cmb69

This comment has been minimized.

Member

cmb69 commented Jul 31, 2017

An Tankstellen erhalte ich meinen Treibstoff zu dem Preis, der zum Zeitpunkt des Einfüllens aktiv war. Was danach passiert, ist egal. Das müsste im Shop theoretisch genau so sein: Zeitpunkt von "in den Warenkorb" bis Step 3. Das geht aber nicht, weil man nachträglich z.B. die Menge ändern könnte.

Zurzeit ist es so, dass nicht der Artikel (Product) selbst im Warenkorb gespeichert wird, sondern quasi eine Kopie. Sprich, nachdem ein Artikel in den Warenkorb gelegt wurde, greifen Preisänderungen nicht. Das ist eigentlich gar nicht mal schlecht, aber ein Warenkorb kann sehr lange gültig sein; er verfällt erst, wenn der Browser geschlossen wird, oder wenn mindestens 24min (kann per php.ini geändert werden) kein Aufruf mehr kam. Zumindest mit Tricks kann also ein Warenkorb über Jahre erhalten bleiben.

Wird das oben erwähnte ::refresh() aufgerufen, dann werden alle Daten im Warenkorb aktualisiert, aber eben nicht die gespeicherten Artikeldaten.

Theoretisch müsste während jeglicher Konfig-Änderung und während jeder Artikel-Bearbeitung der Shop geschlossen werden (Wartungsmodus).

Ich denke, nicht nur theoretisch. Und ich finde, das kann durchaus dem Shopbetreiber überlassen bleiben (wenn nur ein harmloser Tippfehler in der Artikelbeschreibung gefixt werden soll, ist der Wartungsmodus schließlich nicht nötig). Und hier sollten wir so verfahren, dass wenn der Shop in den Wartungsmodus geschaltet wird, alle Warenkörbe invalidiert werden. Das ist nicht perfekt, aber dürfte bei normalem Kauf-Verhalten der jetzigen Situation entsprechen: Kunde legt waren in den Warenkorb; während des weiteren Shoppings/Checkout wird der Shop in den Wartungsmodus geschaltet; Kunde ärgert sich, verlässt die Seite weil er nicht weiter einkaufen kann, und schließt irgendwann den Browser, was den Warenkorb verfallen lässt. Paypal wird diesbezüglich schon jetzt korrekt behandelt: wurde bereits zum Bezahlen nach Paypal gewechselt, und dann der Wartungsmodus aktiviert, wird die Bestellung nach Bezahlung dennoch ausgeführt (sprich, die Mails werden versendet).

@cmb69 cmb69 added the bug label Aug 2, 2017

@cmb69 cmb69 closed this in 66aa959 Aug 2, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment