summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/modules/user/controllers/RoleController.php55
-rw-r--r--application/modules/user/views/scripts/role/show.phtml34
2 files changed, 59 insertions, 30 deletions
diff --git a/application/modules/user/controllers/RoleController.php b/application/modules/user/controllers/RoleController.php
index 91357f0..1b2e54f 100644
--- a/application/modules/user/controllers/RoleController.php
+++ b/application/modules/user/controllers/RoleController.php
@@ -322,7 +322,11 @@ class User_RoleController extends Zend_Controller_Action
}
}
} else {
- $rightlist = $rights;
+ $rightCategoryMapper = new Application_Model_RightCategoryMapper();
+ foreach($rights as $right) {
+ $rightCategory = $rightCategoryMapper->find($right->getRightcategoryID());
+ $rightlist[$rightCategory->getTitle()][$right->getID()] = $right->getTitle();
+ }
}
if(count($rightlist) > 0) {
if (!isset($_POST["link"])){
@@ -377,15 +381,10 @@ class User_RoleController extends Zend_Controller_Action
if(isset($rightRolesID)) {
$rightRolesID = explode('-',$rightRolesID);
$roleID = $rightRolesID[0];
- $rightID = $rightRolesID[1];
- if (isset($roleID) && isset($rightID)){
- $roleMapper = new Application_Model_RoleMapper();
- $role = $roleMapper->find($roleID);
- $roleGroupID = $role->getGroupID();
- if($this->userIDsNamespace['groupID'] == $roleGroupID) {
- $rightroles = new Application_Model_RightRoles();
- $rightroles->setRoleID($roleID);
- $rightroles->setRightID($rightID);
+ if($rightRolesID[1] == 'all') {
+ $rightRolesMapper = new Application_Model_RightRolesMapper();
+ $rightroleslist = $rightRolesMapper->findBy(array('roleID' => $roleID));
+ foreach($rightroleslist as $rightroles) {
try {
$this->rightRolesMapper->delete($rightroles);
} catch(Zend_Exception $e)
@@ -393,15 +392,37 @@ class User_RoleController extends Zend_Controller_Action
echo "Caught exception: " . get_class($e) . "<br/>";
echo "Message: " . $e->getMessage() . "<br/>";
return;
+ }
+ }
+ $this->_redirect('/user/role/show/roleID/' . $roleID);
+ return;
+ } else {
+ $rightID = $rightRolesID[1];
+ if (isset($roleID) && isset($rightID)){
+ $roleMapper = new Application_Model_RoleMapper();
+ $role = $roleMapper->find($roleID);
+ $roleGroupID = $role->getGroupID();
+ if($this->userIDsNamespace['groupID'] == $roleGroupID) {
+ $rightroles = new Application_Model_RightRoles();
+ $rightroles->setRoleID($roleID);
+ $rightroles->setRightID($rightID);
+ try {
+ $this->rightRolesMapper->delete($rightroles);
+ } catch(Zend_Exception $e)
+ {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $this->_redirect('/user/role/show/roleID/' . $roleID);
+ return;
+ } else {
+ $pbsNotifier = new Pbs_Notifier();
+ echo $pbsNotifier->notify('unlink','forbidden');
+ $this->_helper-> viewRenderer-> setNoRender();
+ return;
}
- $this->_redirect('/user/role/show/roleID/' . $roleID);
- return;
- } else {
- $pbsNotifier = new Pbs_Notifier();
- echo $pbsNotifier->notify('unlink','forbidden');
- $this->_helper-> viewRenderer-> setNoRender();
- return;
}
}
} else {
diff --git a/application/modules/user/views/scripts/role/show.phtml b/application/modules/user/views/scripts/role/show.phtml
index 8f4bb50..8c7503f 100644
--- a/application/modules/user/views/scripts/role/show.phtml
+++ b/application/modules/user/views/scripts/role/show.phtml
@@ -53,17 +53,22 @@ if($this->rightsAvailable === true) {
echo $this->formButton('linkright', 'Add Rights', array(
'onclick' => 'self.location="/user/role/linkright/roleID/' . $this->role->getID() .'"',
'class' => 'addbutton'))?>
-<br />
<?php
}
}
-if(count($this->rightsList)==0)
-echo "There are no Rights to display.";
-if(isset($this->rightcategorieslist)) {
- foreach($this->rightcategorieslist as $k => $v):
- $rights = $this->rightsList[$k];
- if(count($rights) > 0) {
- ?>
+if(count($this->rightsList)==0) {
+ echo "There are no Rights to display.";
+} else {
+ if($this->removeRightOfRoleRight) echo $this->formButton('deleteallrights', 'Delete All Rights', array(
+ 'onclick' => 'self.location="/user/role/unlinkright/rightrolesID/' . $this->roleID . '-all"',
+ 'class' => 'rightbutton'));?>
+<br />
+ <?php
+ if(isset($this->rightcategorieslist)) {
+ foreach($this->rightcategorieslist as $k => $v):
+ $rights = $this->rightsList[$k];
+ if(count($rights) > 0) {
+ ?>
<h3><?php echo $v; ?>:</h3>
<div class='listelement'><?php
foreach($rights as $right):
@@ -96,12 +101,15 @@ if($right->getDescription()) {
<div class='clear'></div>
</div>
<?php
-endforeach;
- }
- ?></div>
+endforeach
+?></div>
+<?php
+ }
+ ?>
<br />
- <?php
- endforeach;
+ <?php
+ endforeach;
+ }
}
}
?>