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

Formularzugriff nur für bestimmte Rollen

Eingetragen von Ati (210)
am 02.02.2012 - 14:53 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Hallo zusammen,

für meine eigenen Formulare möchte ich die Zugriffssteuerung relativ fein bestimmen.
Ich habe verschiedene Rollen angelegt (Vertrieb, Einkauf, Logistik). Wie muss ich die access arguments
gestalten das z.b. das Formular xy nur von den Rollen Logistik und Administrator bearbeitet werden dürfen?

Ati

‹ Probleme nach Upgrade PHP durch Provider Kleines Problem beim Widget erstellung ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich würde

Eingetragen von ronald (3857)
am 02.02.2012 - 15:13 Uhr

content_access in Verbindung mit unterschiedlichen content types einsetzen.

Damit ist eine Regelung auf der Ebene des content_types (sogar für jeden Node) möglich.

Damit könnte der Einkauf ein Dokument erzeugen, dass nur von ihm selbst, und dem Vertrieb gelesen werden kann, andere Dokumente aber nur Intern verwendet werden.

Und sehr vieles mehr.

Dafür ist keine eigene Programmierung nötig.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi ronald, nun es ging

Eingetragen von Ati (210)
am 02.02.2012 - 15:23 Uhr

Hi ronald,

nun es ging hierbei um bereits eigene Module, welche ich jetzt entsprechend berechtigen wollte.
Aber in meinem Fall war die Lösung schon wieder zu einfach für mich. Einfach bei
access arguments array('Edit data in the Termine table') eintragen und das war es schon.
Werde mir das Modul content_access aber mal anschauen..kann ja nicht schaden ;-).
Danke für Deine Mühe!

Ati

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kommando zurück...das klappt

Eingetragen von Ati (210)
am 02.02.2012 - 15:27 Uhr

Kommando zurück...das klappt doch nicht!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was klappt doch nicht? Wie

Eingetragen von Exterior (2903)
am 02.02.2012 - 16:23 Uhr

Was klappt doch nicht? Wie genau rufst du das Formular denn auf? Und bitte nicht nur "drupal_get_form" oder so posten, sondern den ganzen Code, der das Formular ausgibt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dein Wunsch ist mir

Eingetragen von Ati (210)
am 02.02.2012 - 16:43 Uhr

Dein Wunsch ist mir Befehl..

function ltermverwaltung_menu() {
  $items = array();
  
$items['ltermverwaltung/form'] = array(
    'title' => t('Terminerfassung'),
    'page callback' => 'ltermverwaltung_form',
    'access arguments' => array('edit data in the termine table'),
    'type' => MENU_CALLBACK,
);

$items['ltermbearbeitung/%/form'] = array(
    'title' => t('Terminbearbeitung'),
    'page callback' => 'ltermbearbeitung_form',
    'access arguments' => array('edit data in the termine table'),
    'type' => MENU_CALLBACK,
);

  return $items;
}

function ltermverwaltung_form(){
return drupal_get_form('ltermverwaltung_my_form');
}

function ltermverwaltung_my_form($form, &$form_state) {

  $result_tour = db_query('Select plz,ort from tbl_plz');
  $touren = array();
  foreach ($result_tour as $row) {
    $touren[$row->plz] = $row->plz ." ". $row->ort;
  }

  $result_uhr = db_query('Select uhrzeit from uhrzeit');
  $uhrzeit = array();
  foreach ($result_uhr as $row) {
    $uhrzeit[$row->uhrzeit] = $row->uhrzeit;
  }
 
 
  $form['tart'] = array(
    '#type' => 'radios',
    '#options' => array(
      'Fix-Termin'   => t('Fix-Termin'),
      'Bis-Termin' => t('Bis-Termin'),
     ),
    '#title' => t('Welche Terminart?'),
    '#required' => TRUE,
  );

Ich hoffe es ist in Ordnung wenn ich den Rest des Formulares euch erspare oder?
Unter Berechtigungen gibt es eben diesen besagten Eintrag. Auch hier habe ich eine Kuriosität.
Wenn ich den Haken bei den Rollen Administrator + Logistik setze kann der User "admin" alles.
Der User "Michael" beinhaltet auch die Rolle des Administrators und der bekommt das Formular nicht angezeigt.

Ich stöbere auch viel im Examples-Modul. Dort ist ja das gleiche Beispiel wie ich es hier umsetzen will...dort geht es Problem los.
Ich vermute mal daher das dieser Berechtigungshaken mit dem ich bei meinem Modul hantiere nicht richtig ist. Habe dann mal bissl
in dem Code von "Examples" gesucht, wie dieser "Berechtigungspunkt" überhaupt erzeugt wird. Bin aber noch nicht dahinter gekommen.

Ati

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich bin wohl doch noch fündig

Eingetragen von Ati (210)
am 02.02.2012 - 17:04 Uhr

Ich bin wohl doch noch fündig geworden... hook_permission ist wohl das Zauberwort

function ltermverwaltung_permission() {
  return array(
    'liefertermin erfassen' =>  array(
      'title' => t('Liefertermin erfassen'),
    ),
  );

}

Jetzt kann ich wilde Haken setzen und es funktioniert auch.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Auch hier habe ich

Eingetragen von Exterior (2903)
am 02.02.2012 - 18:04 Uhr
Zitat:

Auch hier habe ich eine Kuriosität.
Wenn ich den Haken bei den Rollen Administrator + Logistik setze kann der User "admin" alles.

Ist der User "admin" der erste User, den du während der Drupal-Installation erstellt hast? Wenn ja, dann ist das ganze nicht sonderlich kurios, denn dann ist der User "admin" der User1, quasi der "Superadmin" deiner Installation. Der darf grundsätzlich erstmal alles, unabhängig von den Rollen. Dem kannst du auch nicht so einfach Rechte entziehen. Daher solltest du diesen Account besonders gut schützen, damit kann man in einer Installation fast jeden erdenklichen Unsinn machen!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ahso....da hatte ich dann

Eingetragen von Ati (210)
am 03.02.2012 - 06:04 Uhr

Ahso....da hatte ich dann wohl ein Verständnisproblem..Danke!

  • 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 Tagen 13 Stunden
  • Hey danke
    vor 3 Tagen 8 Stunden
  • Update: jetzt gibt's ein
    vor 4 Tagen 2 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 1 Tag
  • Da scheint die Terminologie
    vor 1 Woche 1 Tag
  • Kannst doch auch alles direkt
    vor 1 Woche 5 Tagen
  • In der entsprechenden View
    vor 1 Woche 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 5 Tagen
  • gelöst
    vor 4 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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 18 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