Rollenzuweisung automatisch nach zuweisen

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
Bullseye
Beiträge: 210
Registriert: 28. Apr 2015, 22:56

Rollenzuweisung automatisch nach zuweisen

Beitrag von Bullseye »

Morge zusammen.

Gibt es die Möglichkeit Rollen nach einem bestimmten Datum zu verlassn und das für jedes Mitglied individuell?
Beispiel:
Bei uns gibts eine Warteliste dort stehen die zukünftigen Kinder drauf. Die zuweisung zur Rolle Warteliste erfolgt händisch. Nun gibt es ein Datumsfeld "Aufnahme" z.B 01.10 ist es möglich die Rolle Warteliste nach diesem Datum automatishc zu verlassen? Die Aufnamedatums variieren dabei von Kind zu Kind natürlich.


Grüße
Bulls
Benutzeravatar
fasse
Administrator
Beiträge: 6228
Registriert: 12. Nov 2005, 16:06

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von fasse »

Hi Bulls,

du kannst nur das Beginn und Ende-Datum setzen. Wenn du ein Ende-Datum in die Zukunft setzt, dann verlässt der Nutzer die Rolle automatisch an diesem Tag.

War es das was du suchst?

Viele Grüße
Fasse
Bullseye
Beiträge: 210
Registriert: 28. Apr 2015, 22:56

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von Bullseye »

Ich glaube ja. Du meinst, bei einem bereits angelegte Nutzer kann ich unter Rollenmitgliedschaften das Enddatum für alle Rollen setzen, in denen er sich befindet. Ich glaub das ist genau das was ich suche! Hat sich gut versteckt die Option :mrgreen:
oliver
Beiträge: 239
Registriert: 25. Nov 2014, 19:47

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von oliver »

ACHTUNG:

Bei einigen Abfragen bezüglich der Rollenmitgliedschaft wird abgefragt, ob das Enddatum dem 31.12.9999 entspricht, und nur dann wird der User als aktives Mitglied der Rolle erkannt!!!!

@Fasse: Das sollte unbedingt mal in allen Modulen und Plugins vereinheitlicht werden auf mem.begin <= heute AND mem.end > heute
Noch besser: diese Abfragen (meist für die Selectbox) als eigene Klasse!

Besten Gruß
Oliver
Benutzeravatar
fasse
Administrator
Beiträge: 6228
Registriert: 12. Nov 2005, 16:06

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von fasse »

@bullseye: An welcher Stelle hast du denn gesucht bzw. es erwartet?

@oliver: An welchen Stellen prüfen wir noch auf 31.12.9999? Ich habe gerade noch einmal den Code gescannt und keine Stelle gefunden. Es wird an ein paar Stellen dieses Datum gesetzt z.B. bei der Zuweisung einer Rolle ohne explizites Enddatum.
Benutzeravatar
Thomas-RCV
Former team member
Beiträge: 786
Registriert: 1. Aug 2011, 15:06

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von Thomas-RCV »

Hallo zusammen,

einen Ansatz für eine Klasse zum Auslesen der Mitglieder einer Rolle gibt es bereits indirekt.
Im Plugin Written Communications habe ich die Klasse admRoleMembers.php definiert, die das macht, was Oliver angeregt hat.
Die Werte der Selectboxen für die Rolle und Status für Aktive, Ehmalige, oder beide werden dieser Klasse übergeben. Diese gibt dann ein Array zurück mit allen Datensätzen inkl. definierten Profilfeldern, die ausgelesen werden sollen. Zusätzliche Profilfelder können in Form eines Arrays definiert werden.
Diese Klasse könnte man als Basis nehmen und bei Bedarf eventuell weiter verallgemeinern. Ihr könnt euch das ja mal anschauen.

VG Thomas
oliver
Beiträge: 239
Registriert: 25. Nov 2014, 19:47

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von oliver »

Hallo,

@fasse: ich hatte das jetzt im Plugin "Geburtstagsliste" in die Finger bekommen, weil ich eine Gedenkliste daraus bauen wollte. In classes/genlist.php
Dann ist es aber auch noch mehrfach in Appmidio zu finden. Ansonsten hast Du Recht und es ist überall raus.

@Thomas:
Das sieht doch genau nach dem aus, was ich meine! Als Basis bestimmt gut nutzbar. Was mir noch Bedenken bereitet sind die vielen Left Joins in getRoleMembers(). Könnte man dort nicht die ganze Tabelle mit Userdaten in einem Join verknüpfen und dann mit Having arbeiten? Ist das nicht schneller? Aber so genau habe ich mir die Query auch noch nicht angeschaut...

Besten Gruß
Oliver
Benutzeravatar
fasse
Administrator
Beiträge: 6228
Registriert: 12. Nov 2005, 16:06

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von fasse »

Hallo zusammen,

aber wir haben doch so eine Logik auch schon im Core. Leider noch keine eigene Klasse, aber bereits in Users integriert, mit Cache-Funktion. Dort gibt es auch getRoleMemberships() und jetzt neu getRoleMembershipsNoLeaders() und diverse Abfragen isLeaderOfRole($roleId), isMemberOfRole($roleId) usw.

Man kann natürlich das alles mal in eine eigene Klasse packen, aber wie gesagt, die Funktion ist vorhanden und wird auch Resourcenschonend genutzt. (Session und Cache)

Viele Grüße
Fasse
oliver
Beiträge: 239
Registriert: 25. Nov 2014, 19:47

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von oliver »

Hallo Fasse,

gibt es eigentlich ausser dem Style-Guide für die Plugin-Entwickler auch noch eine Handreichung mit solchen Infos? Welche Klassen gibt es, welche Aufgaben decken diese ab, welche Funktionen gibt es dort, etc? Anscheinend ist das ja nicht bei allen Mitwirkenden bekannt - wie auch, bei einem solchen Projekt (ist ja schon lange kein "Script" mehr, wie es hier im Forum mal bezeichnet wurde).

Besten Gruß
Oliver
Bullseye
Beiträge: 210
Registriert: 28. Apr 2015, 22:56

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von Bullseye »

Na da hab ich ja was losgetreten :oops:
Ich habe das ganze bereits bei der Rollenzuordnung erwartet oder einen nachgelagerten extra Schritt.
Allerdings nur wenn man vorher für diese Rolle festgelegt, hat dass man sie automatisch verlassen kann.
Ich versuch mal ien Beispiel, damit mein wirrer Satz etwsa klarer wird.

Rolle A (beim Anlegen der Rolle kein Häckchen gesetzt)
Rolle B (beim Anlegen der Rolle Häckchen gesetzt)

Wenn ich Mitgleid Z nun nur Rolle A zuweise kommt keine extra Abfrage, wenn ich dem Mitglied aber Rolle B oder Rolle A und Rolle B zuweise kommt, die Abfrage, wann ds Mitglied diese Rolle wieder verlassen möchte/muss
Benutzeravatar
fasse
Administrator
Beiträge: 6228
Registriert: 12. Nov 2005, 16:06

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von fasse »

@oliver: Wir versuchen seit einiger Zeit bei neuen oder überarbeiteten Klassen eine gute Dokumentation im Code zu implementieren, die dann hier eingesehen werden kann. Außerdem versuche ich nach und nach eine kleine Anwenderdoku zu erstellen, wo Funktionen festgehalten werden.

Ein explizites HowTo für Entwickler gibt es noch nicht. Das wäre dann eine 3. Dokumentationsebene. Leider ist unser Team sehr klein, so dass wir aus meiner Sicht erst mal die anderen beiden Punkte stark verbessern müssen, bevor wir dann zum nächsten Schritt kommen könnten.

@bullseye: so ganz hab ich das jetzt nicht verstanden mit den Rollen A und B ... :?
Bullseye
Beiträge: 210
Registriert: 28. Apr 2015, 22:56

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von Bullseye »

Es gibt zwei Rollen Fußball und Basketball. Bei der Rolle Basketball endet die Mitgliedschaft immer nach einem Jahr nach Aufnahmedatum.
Nun könnte man bereits beim Erstellen der Rollen eine Einstellung setzen, dass immer wenn ein neues Mitglied diese Rolle zugeteilt wird, eine Abfrage kommt, zu welchem Datum die Rolle wieder verlassen werden soll.
Bei Fußball läuft die Mitgliedschaft unbegrenzt, also setzt man beim Erstellen der Rolle die obige Einstellung nicht. Also wird beim zuweisen der Mitgleider zu Fußball keine Abfrage generiert.
oliver
Beiträge: 239
Registriert: 25. Nov 2014, 19:47

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von oliver »

Hallo Bullseye,

Du kannst ja beim Zuweisen zu einer Rolle auch schon das Ende der Rollenmitgliedschaft (in der Zukunft liegend) festlegen! Aber Du willst wahrscheinlich schon in der Rolle selbst festlegen, dass diese immer nur für ein Jahr gültig ist - oder?

Besten Gruß
Oliver
Bullseye
Beiträge: 210
Registriert: 28. Apr 2015, 22:56

Re: Rollenzuweisung automatisch nach zuweisen

Beitrag von Bullseye »

Ne die Rolle (Warteliste) ist von Kind zu Kind unterschiedlich. Je nachdem wann sich die Eltern melden, wie alt ihr Kind ist und wann die Betreung beginnen soll. z.B melden sich manche schon sobald das Kind geboren ist. Nehmen wir mal an 10.10.15. Das Kind soll dann ab dem 10.09.16 betreut werden. Also steht das Kind bis zum 09.09.16 auf der Warteliste und verläst diese im Idealfall am 10.10 automatisch und ist dann nur noch in der Rolle Kinder(Standardrolle).
So wie ich es verstanden habe, ist es nicht möglich beim zuweisen der Rolle Warteliste gleichzeitig das individuelle Austrittsdatum festzulegen, sondern es muss das Kind erst inkl. der Rollen abgespeichert werden. Im Anschluss daran kann ich unter Rollenmitgliedschaften neben dem Roten X das Datum ändern wann das Kind aus der Rolle Warteliste austreten soll.

Oder schmeiß ich grade was durcheinander?

Schöne wäre es, wenn gleich beim zuweisen der Rolle eine Abfrage kommt, wann die Rolle wieder verlasen werden soll. Natürich nur, wenn die Rolle ein "Ablaufdatum" haben soll.
Antworten