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

Entity Reference Feld (User) auf aktuellen User beschränken (aber nur für bestimmte Rollen) [gelöst]

Eingetragen von anneka (47)
am 13.02.2017 - 12:09 Uhr in
  • Module
  • Drupal 7.x oder neuer

Hallo zusammen,

ich bräuchte mal einen Schubs in die richtige Richtung.

Ausgangssituation: views7.-3.1.4, entity reference 7.-1.2.

Es geht um die Umsetzung eines Schulungsplans für Mitarbeiter. In dem Inhaltstyp dafür gibt es ein Entity Reference field mit dem einer von alle, aktiven Benutzern augewählt werden kann.
Alle aktiven Benutzer haben auch Berechtigung neuen Inhalt für den Inhaltstyp Schulungsplan zu erstellen.

Allerdings möchte ich gerne, dass die User der Rolle MA in diesem Feld nur ihren eigenen Namen sehen und nicht ausversehen ihre Schulung für jemand anderes eintragen. Das an sich wäre ja kein Problem: mit dem Entity Reference-Modus "Views: filter by an reference entity view" nutze ich eine View, die als Filterkriterium "Benutzer:Aktuell" hat. Funktioniert auch so wie es soll. Der Benutzer, der den Eintrag erstellt, sieht nur seinen Namen.

Das Problem ist aber, dass dies nicht für die Benutzer aus der Rolle QM gelten soll. Diese sollen nämlich auch in der Lage sein, Einträge für andere Nutzer zu erstellen.
Gibt es irgendeine Möglichkeit, dass diese Entity selection nur für Nutzer der Rolle MA gelten?

Als ganz anderen Ansatz hatte ich schon mal an Prepopulate gedacht, aber das scheint mir in diesem Fall auch ziemlich frickelig.

Vielen Dank schon mal für eure Aufmerksamkeit.

‹ Mismatched entity and/or field definitions Entity Reference Feld (User) auf aktuellen User beschränken (aber nur für bestimmte Rollen) [gelöst] ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

2 Lösungen

Eingetragen von marco.b (645)
am 14.02.2017 - 20:58 Uhr

Der Einsatz von entityreference_prepopulate (video tutorial von code karate) erscheint mir für dein Problem naheliegend. Konkret bietest du Benutzern mit Rolle MA einen mit Ihrem eigenen User vorausgefüllten Link (ungefähr so: /node/add/schulung?field_deineuserreference=[site:current-user:uid].

Die QM-Leute kriegen den normalen Link (/node/add/schulung). Die Sichtbarkeit der Links je nach Rolle kannst du mit verschiedenen Blocks oder mit in panels (Zugriffsbedingungen für custom panel panes, 1 pro link) gut umsetzen.

Das in Views umzusetzen wäre schwierig, hier wären die Auswahlfilter nach Rolle nicht so einfach umzusetzen.
Ausserdem liesse das Benutzererlebnis für einen User, der ohnehin nur eine Schulung für sich selbst buchen kann, sehr zu wünschen übrig, wenn er bei der Schulung sich selbst reinschreiben muss.

Eine wirkliche Alternative zu entityreference_prepopulate wäre folgendes:
* mit field_permissions das user-reference feld nur bearbeitbar für QM machen, dann kein Pflichtfeld
* via rules nach Erstellen des nodes das Feld füllen, wenn leer (QM-User können es ausfüllen und die rule tut dann nichts)
.
Was da "besser" ist, hmmm … ich glaube, ich würde das mit entityreference_prepopulate machen, das 2. ist aber bestimmt auch ok. Hier kommt es auch ein bisschen auf deine Sitebuildung-Vorlieben an und welche Module du ohnehin einsetzt. Ich setze panels und entityreference_prepopulate ohnehin gerne für Intranetsachen etc. ein.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo marco.b Vielen Dank für

Eingetragen von anneka (47)
am 17.02.2017 - 07:39 Uhr

Hallo marco.b

Vielen Dank für deine ausführliche Antwort.

Auf entityreference_prepopulate bin ich bei meiner Grübelei dann auch noch gestoßen, aber ich war bis zu deinem Beitrag der Meinung, dass ich auch zwingend noch das Zusatzmodul Entity Reference Prepopulate Token brauche, aber es geht ja auch wirklich ohne und es tut was es soll

Vielen Dank nochmal :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 1 Tag
  • Hey danke
    vor 2 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 12 Stunden
  • Da scheint die Terminologie
    vor 3 Wochen 15 Stunden
  • Kannst doch auch alles direkt
    vor 3 Wochen 4 Tagen
  • In der entsprechenden View
    vor 3 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 4 Tagen
  • gelöst
    vor 6 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 30 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