Invite Modul 6.x-2.x-dev + Automatische Zuordnung von Rollen -> funktioniert nicht!
am 18.02.2009 - 12:27 Uhr in
Hallo Drupaler,
habe folgendes Problem:
Ich nutzte das Module Invite (http://drupal.org/project/invite) in der Version 6.x-2.x-dev. Als eines der Features dieses Moduls wird die automatische Zuordnung von Rollen zu neu angemeldeten Benutzern in Abhängigkeit der Benutzerrolle des einladenden Benutzers angepriesen.
Leider funktioniert diese Funktionalität nicht? Wie ich aus diesem Issue unter (http://drupal.org/node/330233) entnehmen konnte, wird scheinbar über den Aufruf der Funktion user_save()
eines anderen Moduls die Rollenzuordnung aus der Tabelle user_roles wieder gelöscht.
Hat jemand ebenfalls dieses Modul unter Drupal6 im Einsatz und vielleicht einen Workaround für dieses Problem? Der Schilderung in dem Issue konnte ich leider nicht folgen.
Das Problem scheint darin zu bestehen, dass bei dem späteren Aufruf von user_save() [Dies muss irgendwann im Registrierungsprozess von einer Methoden aufgerufen werden] die Daten nicht mehr im benötigten Array stehen. Somit werden diese von user_save()
wieder gelöscht.
Also, bin jetzt einmal ein wenig tiefer in die Materie eingestiegen und habe mir die Implementation von hook_user im Module Invite angeschaut. Diese funktioniert für das ohne Probleme. Wenn ich die Ausführung des Codes am Ende dieser Methode durch die();
abbreche, dann sind die Rollen in der Datenbank vorhanden.
Lasse ich den Code allerdings weiterlaufen, dann sind später die Rollen in der DB wieder gelöscht. Also muss während des Std -Registrierungsprozesses des Benutzer (nicht die zusätzliche Implementierung von Invite) erneut ein user_save()
ausgeführt werden.
Kann mir jemand sagen an welcher Stelle, also welche Methode beim Std.-Registrierungsprozess für die Speicherung des Benutzers zuständig ist?
Wenn ich das richtig verstanden habe, dann bekommt die Implementierung von hook_user u.a. die Variable $edit als Referenz übergeben. Diese entspricht dem Inhalt der Formularfelder. Wenn ich also in der Implementierung von hook_user im Modul invite diese Variable mit den neuen Rollen fülle, dann sollten diese auch im 2. Aufruf von user_save()
vorhanden sein, oder?
Kennt sich jemand vielleicht mit den Drupal-Core Methoden aus und kann mir helfen das ganze zu lösen?
Bin für jede Antwort dankbar!
Gruß
Longvalley
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 4 Stunden 25 Minuten
vor 1 Tag 4 Stunden
vor 1 Tag 11 Stunden
vor 1 Tag 21 Stunden
vor 1 Tag 21 Stunden
vor 1 Tag 21 Stunden
vor 1 Tag 21 Stunden
vor 1 Tag 22 Stunden
vor 1 Tag 23 Stunden
vor 2 Tagen 57 Minuten