Email Senden wenn Gruppenmitgliedschaft geändert wird

Hallo,

ich versuche gerade ein Modul zu entwickeln, was eine Email an den Kunden sendet, wenn er einer bestimmten Gruppe zugeordnet wird.

Leider finde ich die Klasse nicht wo ich einhaken kann.

Ich mache die Gruppenänderung so:
“Benutzer verwalten” => “Benutzer” => “Benutzer auswählen” => “Benutzergruppen zuordnen” => im Popupfenster die Gruppe per Drag & Drop zuordnen

Die Funktion oxUser -> addToGroup( $sGroupID ) wird hier leider nicht ausgeführt.

Habt Ihr eine Idee wo das stattfindet?

Gruss

Wolfgang

Hallo Wolfgang,

das passiert über AJAX. Keine Ahnung, ob man da überhaupt mit einem Modul rankommt.

Gruß

Hallo Marco,

danke für die Antwort.

Ich habe mal geschaut.

In der Datei admin/oxajax.php gibt es die Klasse “ajaxListComponent”

Dort wird, allerdings ausserhalb der Klasse, über include die Datei admin/inc/user_main.inc.php eingebunden.

In der “user_main.inc.php” gibt es die Methode “addusertogroup()” die ich suche.

Dass lässt sich wohl nicht sauber extenden ohne die “user_main.inc.php” direkt zu bearbeiten oder?

Gruss

Wolfgang

Hallo,

man kann das als Modul lösen. Dazu mußt du in die Coredatei oxobject2group.php eingreifen. Innerhalb der Methode save kann dann geprüft werden ob ein Gruppenwechsel vorliegt. Soll eine individuelle Mail versandt werden muss man auch noch in die Coredatei oxemail.php eingreifen. Dort legst du eine extra Methode an, um eine Benachrichtigung beim Gruppenwechsel zu senden. Diese Methode muss du dann in deinem Modul für oxobject2group aufrufen.

Danke redone,

an die “oxobject2group.php” hatte ich bisher nicht gedacht.

Ich werde es die Tage so lösen. Ich Poste hier nochmal wenn es geklappt hat.

Gruss

Wolfgang

Ich habe es nun so gelöst:

Ein Modul was oxobject2group erweitert:

public function save()
{
		if ( $this->oxobject2group__oxgroupsid == "oxiddealer" ) // new Group is oxiddealer
		{
			// get User
			$oUser = oxNew( "oxuser" );
			$oUser->load( $this->oxobject2group__oxobjectid->value );

			// send Mail
			$oxEMail = oxNew( 'oxemail' );
            $oxEMail->sendAddedtoDealersEmail( $oUser );
		} 
		
		return parent::save();

}

und eine neue Methode “sendAddedtoDealersEmail” in einem Modul für oxemail.

Danke nochmal an alle.

Gruss

Wolfgang