commit 7c0ce7e6b295b7e01921a81d5a1d318791010fc3
parent 0c35e903aebeb87e83d09f2bea4ed78ea3dc0169
Author: dankert <devnull@localhost>
Date: Sun, 1 Mar 2009 02:41:35 +0100
Anzeigen der Benutzerrechte für Gruppen.
Diffstat:
2 files changed, 80 insertions(+), 11 deletions(-)
diff --git a/actionClasses/GroupAction.class.php b/actionClasses/GroupAction.class.php
@@ -121,8 +121,8 @@ class GroupAction extends Action
/**
- * Benutzer zur Gruppe hinzufügen.<br>
- * Es kann eine Liste oder eine einzelne Person zur Gruppe hinzugefügt werden.
+ * Benutzer zur Gruppe hinzuf�gen.<br>
+ * Es kann eine Liste oder eine einzelne Person zur Gruppe hinzugef�gt werden.
*/
function addusertogroup()
{
@@ -139,13 +139,13 @@ class GroupAction extends Action
}
elseif( intval($userid) > 0 )
{
- // Nur 1 Benutzer hinzufügen.
+ // Nur 1 Benutzer hinzuf�gen.
$this->group->addUser( intval($userid) );
$this->addNotice('group',$this->group->name,'USER_ADDED_TO_GROUP',OK_NOTICE_OK,array('count'=>'1'));
}
else
{
- // Es wurde kein Benutzer ausgewählt.
+ // Es wurde kein Benutzer ausgew�hlt.
$this->addNotice('group',$this->group->name,'NOTHING_DONE',OR_NOTICE_WARN);
}
}
@@ -215,14 +215,79 @@ class GroupAction extends Action
}
$this->setTemplateVar('memberships',$userliste);
}
-
+
+
+
+
+
+ /**
+ * Anzeigen der Benutzerrechte
+ */
+ function rights()
+ {
+ $rights = $this->group->getAllAcls();
+
+ $projects = array();
+
+ foreach( $rights as $acl )
+ {
+ if ( !isset($projects[$acl->projectid]))
+ {
+ $projects[$acl->projectid] = array();
+ $p = new Project($acl->projectid);
+ $p->load();
+ $projects[$acl->projectid]['projectname'] = $p->name;
+ $projects[$acl->projectid]['rights' ] = array();
+ }
+
+ $right = array();
+
+ if ( $acl->languageid > 0 )
+ {
+ $language = new Language($acl->languageid);
+ $language->load();
+ $right['languagename'] = $language->name;
+ }
+ else
+ {
+ $right['languagename'] = lang('ALL_LANGUAGES');
+ }
+
+
+ $o = new Object($acl->objectid);
+ $o->objectLoad();
+ $right['objectname'] = $o->name;
+ $right['objectid' ] = $o->objectid;
+ $right['objecttype'] = $o->getType();
+
+ if ( $acl->groupid > 0 )
+ {
+ $group = new Group($acl->groupid);
+ $group->load();
+ $right['groupname'] = $group->name;
+ }
+ else
+ {
+ // Berechtigung f�r "alle".
+ }
+
+ $right['bits'] = $acl->getProperties();
+
+ $projects[$acl->projectid]['rights'][] = $right;
+ }
+
+ $this->setTemplateVar('projects' ,$projects );
+
+ $this->setTemplateVar('show',Acl::getAvailableRights() );
+ }
+
/**
- * Menü.
+ * Men�.
*
- * @param String $menu Menüeintrag.
- * @return boolean TRUE, wenn Menüeintrag aktiv ist.
+ * @param String $menu Men�eintrag.
+ * @return boolean TRUE, wenn Men�eintrag aktiv ist.
*/
function checkMenu( $menu )
{
@@ -232,7 +297,7 @@ class GroupAction extends Action
// Benutzerliste nur anzeigen, wenn welche vorhanden.
return count($this->group->getUsers()) > 0;
case 'adduser':
- // Benutzer können nur hinzugefügt werden, wenn noch nicht alle
+ // Benutzer k�nnen nur hinzugef�gt werden, wenn noch nicht alle
// in der Gruppe sind.
return count($this->group->getOtherUsers()) > 0;
default:
diff --git a/actionClasses/GroupAction.ini.php b/actionClasses/GroupAction.ini.php
@@ -44,8 +44,12 @@ menu=memberships
[addusertogroup]
goto=users
+[rights]
+menu=rights
+
[menu]
listing=listing,add
users=users,adduser
edit=edit,remove
-memberships=users,adduser-
\ No newline at end of file
+memberships=users,adduser
+rights=rights+
\ No newline at end of file