Kunden werden aus der oxuser gelöscht

Will sich ein Kunde nicht registrieren, dann wird der Kunde zunächst in der Tabelle oxuser ohne Passwort aber mit einer Kundennummer (z. B… 123) abgespeichert. Kauft der Kunde erneut und benutzt die gleiche E-Mail Adresse, wird der erste Datensatz gelöscht und ein neuer Datensatz mit neuer Kundennummer (z. B. 222) in der Tabelle oxuser angelegt. Ich verstehe, dass die Spalte oxusername eindeutig sein muss, nur finde ich jetzt zur Kundennummer 123 keinen Auftrag mehr. Gibt es da nicht eine bessere Lösung?

aktuell leider nein, ist aber schon länger im Gespräch, dass es so, wie es jetzt läuft, kacke ist.
Deswegen ordnen wir Bestellungen über die Email-Adressen dem Kundenkonto zu.

Du könntest aber auf jeden Fall einen Bug Eintrag machen, weil dieser angesprochene Aspekt bisher nicht erwähnt wurde (bisher gings mehr um die Newsletter Anmeldungen, die bei einer erneuten Gastbestellung ebenfalls verloren gehen)
https://bugs.oxid-esales.com/main_page.php
Wenn mehr Leute sich über das Problem beschweren, wird es vielleicht eher Beachtung bekommen :slight_smile:

Immer ich, das ist so gemein :slight_smile:

https://bugs.oxid-esales.com/view.php?id=6648

in unserem WaWi werden alle Kundenkonten übernommen und man kann auch über die Kundennummer suchen

Es gibt dafür ein kleines Modul. Du kannst auch hingehen und die Dateien manuell erweitern, und statt der ID die E-Mail abfragen. Einfaches Bsp oxOrderArticleList:

public function loadOrderArticlesForUser($sOxId)
    {
        if (!$sOxId) {
            $this->clear();

            return;
        }
		$sSelect1 = "SELECT oxbillemail FROM oxorder WHERE oxuserid = " . oxDb::getDb()->quote($sOxId);
		$email = oxDb::getDb()->getOne($sSelect1, false, false);
		
        $sSelect2 = "SELECT oxorderarticles.* FROM oxorder ";
        $sSelect2 .= "left join oxorderarticles on oxorderarticles.oxorderid = oxorder.oxid ";
        $sSelect2 .= "left join oxarticles on oxorderarticles.oxartid = oxarticles.oxid ";
        $sSelect2 .= "WHERE oxorder.oxbillemail = " . oxDb::getDb()->quote($email);
        $this->selectString($sSelect2);

    }

Leider sieht man das in der Entwicklung etwas anders. Nicht registrierte Kunden sind temporäre Kunden, die man jederzeit löschen darf.
Ich werde jetzt nur noch registrierte Kunden zulassen, da ich sonst Folgeprobleme bekomme, wenn die Kundennummer nicht mehr vorhanden ist

Ich kenne das Problem und wir haben es wie gesagt über das WaWi gelöst :slight_smile:

Ursprünglich hatten wir mal vor Jahren (ich meine es war die Version 4.4) in der DB den Index oxusername in der Tabelle oxuser von unique auf einen normalen Index geändert.
Kannst du ja mal testen…

Jens, was ist eigentlich dein Problem? Und ich meine das tatsächlich NICHT ironisch oder gar sarkastisch.

Du schreibst im Bugtracker, du wärst in Schwierigkeiten deswegen … wie sehen die aus? Gibt es da (steuer?-) rechtliche Probleme?

Danke :slight_smile: