Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Automatische Rollenvergabe

Eingetragen von thryler (4)
am 10.06.2013 - 19:45 Uhr in
  • Module

Hallo,

es sieht so aus dass ich ein eigenes Modul zur Erstellung eines Profils geschrieben hab(unabhängig vom User System Druapls). Nur wenn dieses Formular ausgefüllt ist, soll der User alle Rechte auf die anderen Module bekommen. Meine Idee sah so aus, dass ich beim validieren automatisch den User eine neue Rolle geben, nur leider finde ich keine Funktion die das einfach so übernimmt.

Vielen Dank

‹ Resize-Filter im Scald-Module Wochennummer an Calendar anpassen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Mit Rules wirst du vermutlich

Eingetragen von Goekmen (1013)
am 10.06.2013 - 23:35 Uhr

Mit Rules wirst du vermutlich weiterkommen.
Man braucht etwas Einarbeitungszeit, aber danach kann man alles mögliche damit anstellen :-)

https://drupal.org/project/rules

WEBTRANSFORMER

  • Anmelden oder Registrieren um Kommentare zu schreiben

unabhängig von drupal???

Eingetragen von caw (2730)
am 11.06.2013 - 06:29 Uhr

unabhängig von drupal??? nimmer doch user profile, entity registry oder ähnliches

C.A.W. Webdesign

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also damit man das etwas

Eingetragen von thryler (4)
am 11.06.2013 - 11:10 Uhr

Also damit man das etwas besser versteht mal so ein paar Ausschnitte aus dem Quelltext:

function profil_erstellen_form_validate($form, &$form_state) {
//Die uid wird im Firmenprofil gespreicht um so einfachere Abfragen über diese Id zu gewährleisten
global $user;
//Sämtliche Feldinhalte werden aus den enstprechenden Felder zwischengespeichert


$name= $form_state['values']['name'];
        ....//andere Felder

        //weitere Fehler abfrage
if(empty($name)) {
form_set_error('', t('Bitte Feld Firmenname ausfüllen!'));
}
else{



//Profil aus gesammelten Daten erstellen
$profil= new profil($name, .....);
//DAO erstellen um Profil hinzuzufügen/ändern
$dao_profil ="";
$dao_profil = new DAO_Firma();
//falls schon ein Profil vorhanden ist updaten
if($dao_profil->isProfilvorhanden($user->uid)){
$dao_profil>updateprofil($profil);
//Falls noch nicht vorhnaden: hinzufügen! Und User neue Rechte geben
} else {
//in die Dao einfügen
                        $dao_profil->addProfil($profil);
                        //Hier nun die neue Rolle setzen. Hab dafür eine neue Rolle erstellt.
$author = user_load($user->uid);
$roles = $author->roles;
$roles[3] = 'authenticated user with profil';
user_save($author, array('roles' => $roles));
}
}


}

So möchte ich das ungefähr haben. Das ich nach dem das Profil hinzugefügt wurde einmal die Rolle geändert wird und der User danach mehr Rechte bekommt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie Goekmen schon sagte, geht

Eingetragen von Ionit (1792)
am 11.06.2013 - 11:54 Uhr

Wie Goekmen schon sagte, geht das mit Rules.

vereinfacht:
event: user hat Profile (neu) gespeichert/erstellt
do: gib ihm Rolle xyz

Fertig!

Drupal rockt!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Um Rules zu nutzen benötigt es im custom profile ein event

Eingetragen von C_Logemann (832)
am 11.06.2013 - 14:06 Uhr

Wenn ich das richtig verstanden habe gibt es eine separate custom Profile-erweiterung. Ob die Notwendig ist oder nicht kann und will ich gerade nicht beurteilen. Es heißt, daß deren Benutzung erst zur neuen Rolle führen soll. Da hilft dann allerdings kein Rules, weil es dafür kein Event gibt. Dies lässt sich allerdings auch selbst programmieren.
In diesem Fall würde ich aber auch den Weg weiter verfolgen: "Rolle per custom Code der User Entität hinzufügen".

# DrupalCenter-Moderator # Mitglied im Drupal e.V. # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: CMS Security & Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen und Freiberufler

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • PHP 8.1 - Deprecated function: rtrim()
  • Drupal Website gestalten
  • MariaDB 10.6
  • Entity Reference - Title Felder werden als Link angezeigt
  • Tokens werden in Viev als Link angezeigt
  • [bug entdeckt & workaround gefunden] benutzerdefinierte Felder vom Userprofil tauchen ungefragt auch in den Forumtopics auf...
  • [gelöst] Mass contact Empfängerliste nach Taxonomy Term statt Rolle
  • Update V. 9.3.12 auf V. 9.4 mit Fehler: Modul mySQL fehlt. Bitte Hilfe.
  • Sprachpfad, in Drupal Korrekt einstellen, auch bei den Meta-Tags
  • Update von Drupal 9.3 auf 9.4 oder bei 9.3 bleiben
  • Terminverwaltung
  • Views in Seite einbetten
Weiter

Neue Kommentare

  • Habe Patch versucht
    vor 5 Stunden 33 Minuten
  • Hier wird ein Patsch
    vor 7 Stunden 23 Minuten
  • Mit Drupal geht das um 150
    vor 18 Stunden 33 Minuten
  • Ah, ok. Wenn es ein Paragraph
    vor 1 Tag 18 Stunden
  • Also kleiner Nachtrag noch:
    vor 1 Tag 19 Stunden
  • In der View gibt es einen
    vor 1 Tag 22 Stunden
  • Kann ich euch gerne mit
    vor 2 Tagen 9 Stunden
  • ursache gefunden
    vor 2 Tagen 21 Stunden
  • nun wirds erst richtig lustig...
    vor 2 Tagen 21 Stunden
  • ursache weiter eingegrenzt
    vor 3 Tagen 3 Stunden

Statistik

Beiträge im Forum: 247858
Registrierte User: 19588

Neue User:

  • Tkakah
  • JeraldFub
  • andycrestodina

» Alle User anzeigen

User nach Punkten sortiert:
wla9212
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 10 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association