Mail an Rollenkategorien

Hast du Vorschläge, was wir an Admidio noch verbessern könnten ? Hier kannst du uns deine Vorstellung an neuen Funktionen mitteilen.
red
Plugin-Developer
Beiträge: 75
Registriert: 24. Sep 2014, 21:09

Mail an Rollenkategorien

Beitrag von red »

Hallo,
ich bräuchte die Option an komplette Rollenkategorien zu schreiben. Zum Beispiel umfasst bei uns die Kategorie Vorstand die Rollen 1.Vorstand,2.Vorstand, Kassier,Schriftführen.

Ist soetwas geplant umzusetzen, bzw spricht etwas dagegen?

Falls noch nichts geplant und nichts dagegen spricht, würde ich mich mit der Umsetzung einmal auseinander setzen:)

Gruß Stefan
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Re: Mail an Rollenkategorien

Beitrag von fasse »

Hi Stefan,
was spricht denn dagegen mehrere Rollen auszuwählen?

Viele Grüße
Fasse
red
Plugin-Developer
Beiträge: 75
Registriert: 24. Sep 2014, 21:09

Re: Mail an Rollenkategorien

Beitrag von red »

Hi,
stimmt, daran hab ich wirklich nicht gedacht.
Ist allerdings trotzdem etwas mühselig, da zB unsere erweiterte Vorstandschaft aus >10 Rollen besteht.
Da übersieht man leicht mal einen.

Gruß stefan
Benutzeravatar
Thomas-RCV
Former team member
Beiträge: 786
Registriert: 1. Aug 2011, 15:06

Re: Mail an Rollenkategorien

Beitrag von Thomas-RCV »

Hallo Stefan,

vielleicht hier eine Anregung dazu.
Dieses Vorstandskonstrukt wäre ein klassischer Fall für die Abhängigkeit von Rollen, dass du einmal definierst und eigentlich dann nicht mehr in die Hand nehmen musst.
Rolle Vorstand anlegen und dieser dann alle anderen Unterrollen zuordnen.

also Vorstand ->
- Präsident
-1. Vize
-2. Vize
- Schriftführer
-Kassierer
- ...
- ...

So hab ich es gemacht. Das bringt dir auf diesem Weg gleich mehrere Vorteile.
Du kannst an Vorstand eine Mail schicken und hast alle Unterrollen erreicht.
Durch Wahlen ändern sich die Personen in den Unterrollen im Turnus. Diese kannst du dort dann direkt austauschen, ohne deine Gesamtstruktur zu ändern.
Darüber hinaus hast du dann auch noch die Möglichkeit über die Abhängigkeit Berechtigungen über die Vorstandsrolle an die Unterrollen zu vererben.
Wird in diesem Konstrukt eher unnötig sein, aber das Prinzip funktioniert so für andere Anwendungen, wenn man es braucht. Du kannst somit Berechtigungen über eine einzige Rolle steuern und zugewiesene Nutzer oder zugeordnete Rollen bekommen automatisch die Berechtigungen.

VG Thomas
red
Plugin-Developer
Beiträge: 75
Registriert: 24. Sep 2014, 21:09

Re: Mail an Rollenkategorien

Beitrag von red »

Hi,
danke für die Anregung, aber da müsste ich dann ja auch immer schauen, ob ich die Mitgliedern dann aus beiden rollen wieder entfernt habe.
Das scheint mir irgendwie unpraktikabel, zumal dann noch mehr rollen auf den Benutzerseiten rumgeistern und meine Vorstandskollegen da schnell überfordert sind.

ich hab jetzt mal einen Patch vorbereitet, der die Kategorien zur Auswahl bereitstellt. sollte funktionieren, hab es aber noch nicht getestet, muss mir erstmal überlegen wie ich das am Besten teste :)

Patch hier, anhängen geht leider nicht zumindest nicht als .txt und .patch:

Gruß Stefan

Code: Alles auswählen

diff --git a/adm_plugins/awards b/adm_plugins/awards
index 07a7bfd..848d7e0 160000
--- a/adm_plugins/awards
+++ b/adm_plugins/awards
@@ -1 +1 @@
-Subproject commit 07a7bfdbe47cdacb9436f6186e9fb5dc9ac7a6ac
+Subproject commit 848d7e09b9d14e445876d6cda34932453c11124a
diff --git a/adm_program/modules/messages/messages_send.php b/adm_program/modules/messages/messages_send.php
index 8d97b91..3ea0564 100644
--- a/adm_program/modules/messages/messages_send.php
+++ b/adm_program/modules/messages/messages_send.php
@@ -137,7 +137,30 @@ if ($getMsgType == 'EMAIL')
         // Create new Email Object
         $email = new Email();
 
-        foreach ($postTo as $value)
+//expand categories:
+        foreach ($postTo as $key=>$value)
+        {
+			unset($treffer);
+			preg_match('/^catID:\s(\d+)/',$value,$treffer);
+            if (isset($treffer[1]))
+            {
+				$catid=$treffer[1];
+				$sql = 'SELECT rol_id
+				      FROM '.TBL_ROLES.'
+				      WHERE rol_id IN ('.implode(',',$gCurrentUser->getAllMailRoles()).')
+				       AND rol_cat_id = \''.$catid.'\'
+				     ORDER BY rol_name ASC ';
+		    	$gDb->query($sql);
+
+				while($row = $gDb->fetch_array())
+				{
+					$postTo[]='groupID: '.$row[0];
+				}
+				unset($postTo[$key]);
+			}
+		}
+        
+		foreach ($postTo as $value)
         {
             // check if role or user is given
             if (strpos($value, ':') == true) 
@@ -549,4 +572,4 @@ else
     }
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/adm_program/modules/messages/messages_write.php b/adm_program/modules/messages/messages_write.php
index 1546eb9..38776dd 100644
--- a/adm_program/modules/messages/messages_write.php
+++ b/adm_program/modules/messages/messages_write.php
@@ -292,6 +292,27 @@ elseif (!isset($message_result))
             $rolesArray[] = $row;
         }
 
+        // list array with all categories where user is allowed to send mail to
+		$sql = 'SELECT Distinct(cat_id) cat_id, cat_name
+		          FROM '.TBL_ROLES.'
+		          JOIN '.TBL_CATEGORIES.' as cat_name ON cat_id = rol_cat_id
+		         WHERE rol_id IN ('.implode(',',$gCurrentUser->getAllMailRoles()).')
+		           AND cat_name_intern <> \'CONFIRMATION_OF_PARTICIPATION\'
+		         ORDER BY rol_name ASC ';
+        $gDb->query($sql);
+
+        while($row = $gDb->fetch_array())
+        {
+            $roleCatArray[] = $row;
+        }
+
+
+        foreach($roleCatArray as $roleArray)
+        {
+            $list[] = array('catID: '.$roleArray['cat_id'], $roleArray['cat_name'], 'Kategorien'. ' (' .$gL10n->get('LST_ACTIVE_MEMBERS') . ')');
+		}
+
+
         foreach($rolesArray as $roleArray)
         {
 			// Rollenobjekt anlegen
Benutzeravatar
Thomas-RCV
Former team member
Beiträge: 786
Registriert: 1. Aug 2011, 15:06

Re: Mail an Rollenkategorien

Beitrag von Thomas-RCV »

Wieso aus beiden Rollen?
Glaube wir reden aneinander vorbei.

Es gibt die Rolle Vorstand. Diese bekommt ausschließlich als Abhängigkeit die Unterrollen und KEINE einzelnen Personen zugeordnet. Die Personen sind NUR in den Unterrollen zugeordnet.

Ändert sich z.B. der Präsident, dann entfernst du den in der Präsidentenrolle und ordnest auch dort den Nachfolger zu.
Der Vorfänger verliert somit alle Berechtigungen, die er durch die Rolle Präsident bekommen hat UND zusätzliche Berechtigungen, die die Rolle Vorstand von dir bekommen hat, da diese durch die Abhängigkeit auf die Rolle Präsident vererbt wird und fliegt automatisch aus dem Emailverteiler Vorstand.

Ich denke eher, du hast hier eine ungünstige Gliederung der Struktur gewählt.
Der Patch und der Versuch es über die Kategorien zu lösen, ist aus meiner Sicht der falsche Ansatz.
Das was du erreichen willst, geht über die Rollen, ohne Probleme.

VG Thomas
red
Plugin-Developer
Beiträge: 75
Registriert: 24. Sep 2014, 21:09

Re: Mail an Rollenkategorien

Beitrag von red »

Ah ok, dann hab ich das vllt wirklich falsch verstanden, dachte die Mitglieder der untergordneten Rollen werden zwar automatisch Mitglieder in die Hauptrolle mit übernommen aber nicht mehr aus dieser entfernt.

Das suggeriert zumindest der Text:
Beim Setzten dieser Abhängigkeit werden auch bereits existierende Mitglieder der abhängigen Rolle Mitglied der Neue Rolle. Beim Entfernen einer Abhängigkeit werden Mitgliedschaften nicht aufgehoben!
Aber wenn mitglieder aus der Hauptrolle auch wieder automatisch entfernt werden, wäre das natürlich schon eine Überlegung. Auch wenn ich wie gesagt unnütze Rollen gerne vermeiden möchte.

Und welchen Sinn haben dann eigentlich Kategorien, wenn ich Rollen zum Gruppieren von Rollen einsetzen soll :roll:

Gruß Stefan
Benutzeravatar
Thomas-RCV
Former team member
Beiträge: 786
Registriert: 1. Aug 2011, 15:06

Re: Mail an Rollenkategorien

Beitrag von Thomas-RCV »

Die Funktionalitäten in Admidio basieren immer auf Rollen und deren Berechtigungen und Sichtbarkeiten.
Kategorien sind lediglich zur schematischen Sortierung für die Benutzer vorhanden ohne jegliche Funktion.

VG Thomas
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Mail an Rollenkategorien

Beitrag von XimeX »

hätt ich jetzt auch wie red verstanden
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Re: Mail an Rollenkategorien

Beitrag von fasse »

red hat geschrieben:Ah ok, dann hab ich das vllt wirklich falsch verstanden, dachte die Mitglieder der untergordneten Rollen werden zwar automatisch Mitglieder in die Hauptrolle mit übernommen aber nicht mehr aus dieser entfernt.
Meines Wissens ist das auch so. Es wäre zwar durchaus sinnvoll hier optional auch das Entfernen zu zulassen. Aber momentan wird das nicht gemacht.
red
Plugin-Developer
Beiträge: 75
Registriert: 24. Sep 2014, 21:09

Re: Mail an Rollenkategorien

Beitrag von red »

Thomas-RCV hat geschrieben:Wieso aus beiden Rollen?
Glaube wir reden aneinander vorbei.

Es gibt die Rolle Vorstand. Diese bekommt ausschließlich als Abhängigkeit die Unterrollen und KEINE einzelnen Personen zugeordnet. Die Personen sind NUR in den Unterrollen zugeordnet.

Ändert sich z.B. der Präsident, dann entfernst du den in der Präsidentenrolle und ordnest auch dort den Nachfolger zu.
Der Vorfänger verliert somit alle Berechtigungen, die er durch die Rolle Präsident bekommen hat UND zusätzliche Berechtigungen, die die Rolle Vorstand von dir bekommen hat, da diese durch die Abhängigkeit auf die Rolle Präsident vererbt wird und fliegt automatisch aus dem Emailverteiler Vorstand.

Ich denke eher, du hast hier eine ungünstige Gliederung der Struktur gewählt.
Der Patch und der Versuch es über die Kategorien zu lösen, ist aus meiner Sicht der falsche Ansatz.
Das was du erreichen willst, geht über die Rollen, ohne Probleme.

VG Thomas
So gestern war es soweit - es war Hauptversammlung und wurde neu gewählt - nach dem Neuzuordnen der Unterrollen war es nun leider nicht so, dass sich die "Überrollen" automatisch geupdated haben. Obwohl sie das bei einem vorherigen Test eigentlich gemacht haben!? Irgendwie nicht wirklich nachvollziehbar, dieses Verhalten, deshalb hab ich sie jetzt wieder gelöscht und regel es über die Kategorien.

Irgendwie ist das Konzept der abhängigen doch auch doof, oder seh das nur ich so?
Wäre es nicht sinnvoller reine "Gruppenrollen" zu machen, die dann wirklich nur Abhängigkeiten haben und diese dann auch sauber abbilden und bei änderung einer abhängigkeit auch aktualisiert werden?
Prinzipiell genau so, wie es die Kategorien jetzt machen.

Das Konzept mit den abhängigen Rollen scheint ja niemand wirklich zu verstehen, nicht einmal die Entwickler ;) Siehe dazu diesen Thread und einen anderen Parallelthread

Gruß red
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Re: Mail an Rollenkategorien

Beitrag von fasse »

Hallo Red,

das Konzept der abhängigen Rollen ist so, wie es auch im Dialog beschrieben ist. Natürlich kann auch mal jemand von uns Entwicklern dies vergessen. Wir kennen auch nicht jede Programmfunktion in und auswendig. Zumal diese auch von einem anderen Entwickler entwickelt wurde.

Dein Vorschlag mit den Rollengruppen gefällt mir aber sehr gut und sollte auf jeden Fall mal auf unsere Todoliste. Allerdings ist dies ein wenig Aufwändig, da wir dann dieses Konzept an allen Stellen im Programm berücksichtigen müssen an denen momentan mit Rollen gearbeitet wird. Und das sind nicht wenige.

https://github.com/Admidio/admidio/issues/282

Viele Grüße
Fasse
MoinMoin
Beiträge: 99
Registriert: 8. Apr 2015, 08:43

Re: Mail an Rollenkategorien

Beitrag von MoinMoin »

So gestern war es soweit - es war Hauptversammlung und wurde neu gewählt - nach dem Neuzuordnen der Unterrollen war es nun leider nicht so, dass sich die "Überrollen" automatisch geupdated haben. Obwohl sie das bei einem vorherigen Test eigentlich gemacht haben!? Irgendwie nicht wirklich nachvollziehbar, dieses Verhalten, deshalb hab ich sie jetzt wieder gelöscht und regel es über die Kategorien.
Da hat es gestern bei mir auch gehakt. Ein neues Mitglied in eine abhängige Rolle aufgenommen. Trotzdem war es in der übergeordneten Rolle zunächst nicht drin.
Dann die abhängige Rolle aus der übergeordneten gelöscht und wieder neu aufgenommen. Dann erst war das Mitglied auch Teilnehmer der übergeordneten Rolle.
Dann das Mitglied aus der abhängigen Rolle wieder gelöscht. Trotzdem blieb es in der übergeordneten Rolle angehakt und musste auch dort aktiv heraus genommen werden.

Soll das nun so sein oder ist hier noch ein Bug ?
Admidio 4.3.11
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Re: Mail an Rollenkategorien

Beitrag von fasse »

Hallo zusammen,

ich habe mir das jetzt mal in der 3.1 Beta angeschaut. So wie es aussieht werden die Rollenabhängigkeiten nicht gesetzt, wenn man Rollen über die Listenzuordnung zuordnet. Ordnet man sie im Profil zu, dann funktioniert es.

Das Problem habe ich jetzt in der 3.1 Beta auf der Spielwiese behoben.

Viele Grüße
Fasse
MoinMoin
Beiträge: 99
Registriert: 8. Apr 2015, 08:43

Re: Mail an Rollenkategorien

Beitrag von MoinMoin »

So wie es aussieht werden die Rollenabhängigkeiten nicht gesetzt, wenn man Rollen über die Listenzuordnung zuordnet. Ordnet man sie im Profil zu, dann funktioniert es.
Die Zuordnung klappt im Profil. Nicht aber die Löschung der Zuordnung....

Weder in der Funktion oben rechts noch die Löschung der abhängigen Rolle aus dem Profil unten löscht die Mitgliedschaft in der übergeordneten Rolle mit.

Diese bleibt in allen Fällen erhalten.
Admidio 4.3.11
Antworten