summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorBjörn Geiger2011-03-29 16:03:30 +0200
committerBjörn Geiger2011-03-29 16:03:30 +0200
commitee4955f2e2ee60c55b055a1576b05759c63688d4 (patch)
tree8d435486700a78f8aef75572ee89ad551a53d89f /application
parentMerge branch 'master' of ssh://git.openslx.org/lsfks/master-teamprojekt/pbs2 (diff)
downloadpbs2-ee4955f2e2ee60c55b055a1576b05759c63688d4.tar.gz
pbs2-ee4955f2e2ee60c55b055a1576b05759c63688d4.tar.xz
pbs2-ee4955f2e2ee60c55b055a1576b05759c63688d4.zip
Bei LinkRight werden nun die RightCategories angezeigt
Diffstat (limited to 'application')
-rw-r--r--application/models/RightCategory.php2
-rw-r--r--application/modules/user/controllers/RoleController.php18
-rw-r--r--application/modules/user/forms/LinkRight.php15
3 files changed, 29 insertions, 6 deletions
diff --git a/application/models/RightCategory.php b/application/models/RightCategory.php
index 42bcbb8..dc011ef 100644
--- a/application/models/RightCategory.php
+++ b/application/models/RightCategory.php
@@ -48,7 +48,7 @@ class Application_Model_RightCategory
}
public function setID($_rightcategoryID)
{
- $this->_rightID = $_rightcategoryID;
+ $this->_rightcategoryID = $_rightcategoryID;
return $this;
}
public function getTitle()
diff --git a/application/modules/user/controllers/RoleController.php b/application/modules/user/controllers/RoleController.php
index 009524f..8f4d85c 100644
--- a/application/modules/user/controllers/RoleController.php
+++ b/application/modules/user/controllers/RoleController.php
@@ -214,7 +214,8 @@ class User_RoleController extends Zend_Controller_Action
}
}
if(!$found) {
- $rightlist[] = $right;
+ $rightCategory = $right->getRightcategoryID();
+ $rightlist[$rightCategory][] = $right;
}
$found = false;
}
@@ -223,11 +224,22 @@ class User_RoleController extends Zend_Controller_Action
$rightlist = $rights;
}
if(count($rightlist) > 0) {
+ $rightCategoryMapper = new Application_Model_RightCategoryMapper();
+ $rightCategories = $rightCategoryMapper->fetchAll();
+ if(count($rightCategories) > 0) {
+ foreach($rightCategories as $rightCategory) {
+ $rightcategorieslist[$rightCategory->getID()] = $rightCategory->getTitle();
+ }
+ }
if (!isset($_POST["link"])){
- $linkForm = new user_Form_LinkRight(array('rightlist' => $rightlist, 'roleID' => $roleID));
+ $linkForm = new user_Form_LinkRight(array('rightlist' => $rightlist, 'rightcategorieslist' => $rightcategorieslist, 'roleID' => $roleID));
} else {
- $linkForm = new user_Form_LinkRight(array('rightlist' => $rightlist, 'roleID' => $roleID), $_POST);
+ $linkForm = new user_Form_LinkRight(array('rightlist' => $rightlist, 'rightcategorieslist' => $rightcategorieslist, 'roleID' => $roleID), $_POST);
if ($linkForm->isValid($_POST)) {
+ if(strpos($_POST['rightID'], 'category') !== false) {
+ $this->_redirect($_SERVER['HTTP_REFERER']);
+ return;
+ }
$rightroles = new Application_Model_RightRoles();
$rightroles->setRightID($_POST['rightID']);
$rightroles->setRoleID($roleID);
diff --git a/application/modules/user/forms/LinkRight.php b/application/modules/user/forms/LinkRight.php
index a7b28b1..d99c2b6 100644
--- a/application/modules/user/forms/LinkRight.php
+++ b/application/modules/user/forms/LinkRight.php
@@ -3,12 +3,17 @@
class user_Form_LinkRight extends Zend_Form
{
private $rightlist;
+ private $rightcategorieslist;
private $roleID;
public function setRightlist($rightlist){
$this->rightlist = $rightlist;
}
+ public function setRightcategorieslist($rightcategorieslist){
+ $this->rightcategorieslist = $rightcategorieslist;
+ }
+
public function setRoleID($roleID){
$this->roleID = $roleID;
}
@@ -22,8 +27,14 @@ class user_Form_LinkRight extends Zend_Form
$rightfield ->setLabel('Right:');
if(count($this->rightlist)>0){
- foreach($this->rightlist as $right => $r){
- $rightfield->addMultiOption($r->getID(), $r->getTitle());
+ foreach($this->rightcategorieslist as $k => $v) {
+ $rightfield->addMultiOption("category" . $k, "---" . $v . "---");
+ $rights = $this->rightlist[$k];
+ foreach($rights as $right => $r){
+ $rightfield->addMultiOption($r->getID(), $r->getTitle());
+ $count++;
+ }
+
}
}
$rightfield->setRegisterInArrayValidator(false);