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

Berechtigung zum Bearbeiten für eine bestimmte Zeit

Eingetragen von Micha1111 (290)
am 21.07.2014 - 08:08 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Der User soll bei der Erstellung eines Nodes festlegen können, innerhalb welcher Zeit andere User diesen Node bearbeiten können.
Dazu gibt es ein Feld Startdatum und ein Feld Enddatum in diesem Inhaltstypen.

Als Steigerung wäre noch interessant, wenn der User auswählen könnte, welcher Rolle diese anderen User angehören müssen, oder sogar, dass nur ganz konkrete User aus einer Liste das dürfen.

Wie lässt sich so etwas realiesieren ?

Ich habe noch kein Modul gefunden, dass eine zeitweise Berechtigung einstellen lässt.
Rules scheint mir nicht geeignet zu sein, weil der Zeitraum nicht vom Erstelldatum abhängen soll.

Irgendwie müsste abgefragt werden, ob dass aktuelle Datum zwischen Start- und Enddatum liegt.

Bin für jede Idee dankbar.

‹ [gelöst] Ansatz - read only felder [gelöst]Vokabular Terms erstellen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

das kann rules leisten

Eingetragen von ronald (3857)
am 21.07.2014 - 08:35 Uhr

Ich wüßte keinen anderen Ansatz, außer du willst ein eigenes Modul schreiben.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, für eine

Eingetragen von Hyp1 (1463)
am 21.07.2014 - 10:05 Uhr

Hallo,

für eine zeitgesteuerte Funktion würde ich einen Cron Job nehmen.
Füge eine Checkbox zu deinem Inhaltstypen zu.
Im Cron Job prüfst Du das Enddatum in der Datenbank und setzt
das Checkbox Feld in der DB entsprechend.
Im hook_form_alter kannst Du vor der Ausgabe der Inhaltstyp Form prüfen
ob das Checkbox Feld gesetzt ist.
Wenn ja dann Redirectest Du nach 403 Forbidden.

Zitat:

Als Steigerung wäre noch interessant, wenn der User auswählen könnte, welcher Rolle diese anderen User angehören müssen, oder sogar, dass nur ganz konkrete User aus einer Liste das dürfen.

Da wäre ich aus Sicherheitsgründen sehr vorsichtig!

MfG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schon mal Danke für die

Eingetragen von Micha1111 (290)
am 21.07.2014 - 21:15 Uhr

Schon mal Danke für die Antworten.

Bei Rules habe ich bereits das Problem, was eigentlich auslösendes Event sein soll.

CronJob würde dauernd ausgeführt werden, obwohl es vielleicht gar nicht nötig ist.

Ich denke, die Richtung eigenes (oder fremdes) Modul ist anzupeilen, also mit einer

function mymodule_access ()

die den aktuellen User und seine Rolle abfragt
die den Inhaltstyp des Nodes abfragt
die den Datums(und Uhrzeit)wert des Feldes Startdatum in diesem Node abfragt
die den Datums(und Uhrzeit)wert des Feldes Enddatum in diesem Node abfragt
die das aktuelle Datum abfragt und vergleicht
und
wenn das aktuelle Datum zwischen Start- und Enddatum liegt

return NODE_ACCESS_ALLOW;

oder wenn nicht

return NODE_ACCESS_IGNORE;

zurückgibt.

Ich habe allerdings keinen Plan, wie ich das mit meinen eher rudimentären PHP-Kenntnissen umsetzen kann.

Bin auch für Hinweise auf andere Module, die mit dem Auslesen und Vergleichen von Datumsfeldern arbeiten, dankbar.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, mymodule_access würde ja

Eingetragen von Hyp1 (1463)
am 21.07.2014 - 23:04 Uhr

Hi,

mymodule_access würde ja bei jedem Node Zugriff ausgeführt
werden, was wohl die deutlich schlechter Wahl wäre, wie ein Cron Job!
Diesen könntest Du ggf. 1x am Tag ausführen lassen.

MfG

  • Anmelden oder Registrieren um Kommentare zu schreiben

natürlich läuft rules nur

Eingetragen von ronald (3857)
am 22.07.2014 - 10:43 Uhr

in Verbindung mit Cron.

Cron ist genau für solche Dinge gedacht.
Er läuft regelmäßig und schaut ob es etwas zu tun gibt.
Wenn due den Cron über einen echten Cronjob aufrufst, wird dieser unabhängig von Besuchern verlässlich ausgeführt.

Dabei können entweder rules überprüft, oder eigene Jobs durchgeführt werden.

Je nach komplexität der Aufgabe kann es sinnvoll sein, dies in einem eigenen Modul zu kapseln, oder eben über Rules zu konfigurieren.

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

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 24 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