#1555 closed Bug/Fehler (fixed)
Bei Ändern des Landes einer Adresse, wird Bundesland des vorherigen Landes gespeichert
| Reported by: | Owned by: | Gerhard Waldemair | |
|---|---|---|---|
| Priority: | normal | Milestone: | modified-shop-2.0.5.0 |
| Component: | Shop | Version: | 2.0.4.2 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Wechselt man bei bei der Eingabe einer Adresse von einem Land mit Bundesländer zu einem Land ohne Bundesländer, dann wird beim Abspeichern, das Bundesland des vorherigen Landes abgespeichert.
Dieser Fehler betrifft nur Templates die nicht den AJAX States Updater nutzen und lässt sich im Demo-Shop nicht nachstellen.
Problem ist, dass in der PHP Fehlerprüfung nur bei Ländern wo ein Bundesland hinterlegt ist geprüft wird, ob die Eingabe korrekt ist. Andernfalls wird lediglich die Mindestlänge geprüft.
Schritte zur Nachstellung:
- Konfiguration > Kunden Details > Bundesland = Ja
- Mein Konto > Adressbuch bearbeiten > Neue Anschrift
- Land mit Bundesland wählen (bspw. Deutschland) und abspeichern
- Es erscheint die Meldung "Bitte wählen Sie Ihr Bundesland aus der Liste aus" und ein Dropdown mit der Liste aller Bundesländer wird angezeigt
- Jetzt das Land wechseln auf ein Land ohne Bundesland (bspw. Afghanistan) und abspeichern
Betroffene Dateien:
/address_book_process.php
/create_account.php
/create_guest_account.php
/includes/modules/checkout_address_store.php
Vorschlag zur Korrektur:
Wenn ein Land keine Bundesländer erfordert (c.required_zones = 0), dann setzen wir $state zurück, statt die Mindestlänge zu prüfen.
Suchen nach:
if (strlen($state) < ENTRY_STATE_MIN_LENGTH) {
Ersetzen mit:
// unset state if not required
if (!$required_zones) {
$state = '';
// check state min length
} else if (strlen($state) < ENTRY_STATE_MIN_LENGTH) {
Attachments (0)
Change History (3)
comment:1 by , 7 years ago
| Milestone: | → modified-shop-2.0.5.0 |
|---|---|
| Owner: | changed from to |
| Status: | new → assigned |
comment:2 by , 7 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |

In 11754: