Kundengruppen Zuweisung nach der Registrierung

Hallo Leute,

ich haben mal wieder eine Kleinigkeit für Oxid programmiert.
Dazu würde ich gern eure Meinungen und Verbesserungvorschläge hören.

Da ganze hat den Zweck, das der Benutzer bei der Eingabe des “[B]Firmennamen[/B]” und der “[B]Ust-Id.[/B]”,
der Gruppe “[B]Händler[/B]” zugewiesen wird.
Sobald eins von den Feldern geleert wird, wird der Benutzer der
der Gruppe “[B]Kunde[/B]” zugewiesen und umgedreht.

So hat man die Möglichkeit, entsprechende Händler,- und Kundenpreise oder
auch Zahlungsmöglichkeiten für die Gruppen zu hinterlegen.

Wie ich finde fehlt noch ein Service, der die “[B]Ust-Id.[/B]” auf Echtheit und
Gültigkeit überprüft. Ich glaube im XT-Commerce gibt es sowas :slight_smile:

[B]CODE:[/B]

[I]"/oxid/core/oxuser.php"[/I]

[B]1.)[/B]

  • public function onOrderExecute
    ( bei “$this->addToGroup( ‘oxidcustomer’ );” )

// DIATOM Internet & Medien GmbH - 08.02.2010
if( !$this->inGroup( 'oxidcustomer' ) && !$this->inGroup( 'oxiddealer' ) ) {
    $this->addToGroup( 'oxidcustomer' );
}
// DIATOM Internet & Medien GmbH - 08.02.2010

[B]2.)[/B]

  • public function changeUserData
    ( unter “if ( $this->save() ) {” )

// DIATOM Internet & Medien GmbH - 08.02.2010
if ( !$this->oxuser__oxdisableautogrp->value ) {
    $isUserInCustomerGroup  = $this->inGroup( 'oxidcustomer' );
    $isUserInDealerGroup    = $this->inGroup( 'oxiddealer' );
    $isDealerAllow          = true;
    $dealerImportantFields  = array('oxuser__oxcompany', 'oxuser__oxustid');
    foreach($dealerImportantFields as $key => $val) {
        if( empty($aInvAddress[$val]) ) $isDealerAllow = false;
    }
    if( $isDealerAllow == true && !$isUserInDealerGroup ) {
        if( $isUserInCustomerGroup ) $this->removeFromGroup( 'oxidcustomer' );
        $this->addToGroup( 'oxiddealer' );
    }
    if( $isDealerAllow == false && !$isUserInCustomerGroup && $isUserInDealerGroup ) {
        if( $isUserInDealerGroup ) $this->removeFromGroup( 'oxiddealer' );
        $this->addToGroup( 'oxidcustomer' );
    }
}
// DIATOM Internet & Medien GmbH - 08.02.2010

mfg, Sebastian

Danke für den Code, hat mir grad super weitergeholfen, jett hab ich allerdings noch ne Frage: Ich hab das ganze so umgebaut, dass der User je nach PLZ einer Gruppe zugewiesen wird. Jetzt will ich es aber so umbauen, dass das ganze auch bei der Lieferadresse gemacht wird, falls jemand eine abweichende Lieferadresse angibt.

Sollte ja das selbe sein nur halt anstatt $aInvAddress $aDelAddress, oder? Habs so gemacht und getestet aber er machts mir nicht…

Danke schonmal!

Gruß,

Robert

@DIATOM:
Ich wollte mich einfach nur bedanken. Der Code hat auch mir gut weitergeholfen. Genau das was ich gesucht habe. Vielen Dank :wink:

Hi,

Lars, vielen Dank erstmal für den Code. Du hast das sicher als Modul eingebunden und nicht an den Core-Dateien geändert, oder? Willst Du das Modul ggf. bei GitHub einstellen? Wir hatten schon Fälle wo sich ein paar Schlauberger Code aus dem Forum zusammengezogen, daraus ein Modul gebastelt und dann auf eXchange zum Verkauf angeboten haben. Mit einem Modul auf GitHub kann man dieser Sache etwas aus dem Weg gehen.

Wie ich finde fehlt noch ein Service, der die “Ust-Id.” auf Echtheit und
Gültigkeit überprüft.

Den Service gibt’s im Netz, die EE prüft automatisiert.

Gruß

Hi Leute,
gibt es diesen Code irgendwo als Modul zum Download.
Würde mich da sehr für interessieren, da ich nicht genau weiß, wo ich den Code oben eintragen muss.

Vielen lieben Dank!

Hi, ich hab mich mal selbst an die Umsetzung des Moduls gemacht. Basiert allerdings auf meinem eigenen Code und nicht auf den des Thread Erstellers. Jedoch macht er das gleiche: Kunden, die bei der Registration die Ust-ID eingeben, bekommen die Benutzerrolle “Händler” zugeteilt. So lassen sich Preise/Versand/etc. für Privat und gewerbliche Kunden gut realisieren :slight_smile: