summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorBjörn Geiger2011-04-08 13:20:06 +0200
committerBjörn Geiger2011-04-08 13:20:06 +0200
commitfb9e5f028899f8205541fe86d7eb9c5e12c4a5ad (patch)
treebd1864cd6dcd4668ba9131b04bf6490ef9e803b3 /application
parenthighlight in Bootmenu gefixt und das default-Bootmenu bekomtm kein Link zum s... (diff)
downloadpbs2-fb9e5f028899f8205541fe86d7eb9c5e12c4a5ad.tar.gz
pbs2-fb9e5f028899f8205541fe86d7eb9c5e12c4a5ad.tar.xz
pbs2-fb9e5f028899f8205541fe86d7eb9c5e12c4a5ad.zip
Auch beim hinzufügen von weiteren Rechten nun Checkboxliste
Diffstat (limited to 'application')
-rw-r--r--application/models/RightRolesMapper.php2
-rw-r--r--application/modules/user/controllers/RoleController.php28
-rw-r--r--application/modules/user/forms/LinkRight.php45
-rw-r--r--application/modules/user/forms/RoleAdd.php16
-rw-r--r--application/modules/user/layouts/user.phtml101
-rw-r--r--application/modules/user/views/scripts/role/show.phtml2
6 files changed, 115 insertions, 79 deletions
diff --git a/application/models/RightRolesMapper.php b/application/models/RightRolesMapper.php
index 32ed666..4ab37f2 100644
--- a/application/models/RightRolesMapper.php
+++ b/application/models/RightRolesMapper.php
@@ -86,7 +86,7 @@ class Application_Model_RightRolesMapper
if (null === ($roleID = $rightroles->getRoleID()) || null === ($rightID = $rightroles->getRightID())) {
return;
} else {
- $this->getDbTable()->delete(array('roleID = ?' => $roleID, 'rightID = ?' => $roleID));
+ $this->getDbTable()->delete(array('roleID = ?' => $roleID, 'rightID = ?' => $rightID));
}
}
diff --git a/application/modules/user/controllers/RoleController.php b/application/modules/user/controllers/RoleController.php
index 4e0aa52..88e2eeb 100644
--- a/application/modules/user/controllers/RoleController.php
+++ b/application/modules/user/controllers/RoleController.php
@@ -303,20 +303,24 @@ class User_RoleController extends Zend_Controller_Action
}
if(count($rightlist) > 0) {
if (!isset($_POST["link"])){
- $linkForm = new user_Form_LinkRight(array('rightlist' => $rightlist, 'roleID' => $roleID));
+ $linkForm = new user_Form_LinkRight(array('rightlist' => $rightlist));
} else {
- $linkForm = new user_Form_LinkRight(array('rightlist' => $rightlist, 'roleID' => $roleID), $_POST);
+ $linkForm = new user_Form_LinkRight(array('rightlist' => $rightlist, $_POST));
if ($linkForm->isValid($_POST)) {
- $rightroles = new Application_Model_RightRoles();
- $rightroles->setRightID($_POST['rightID']);
- $rightroles->setRoleID($roleID);
- try {
- $this->rightRolesMapper->save($rightroles);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
+ foreach($_POST['rights'] as $rightID => $bool) {
+ if($bool == 1) {
+ $rightroles = new Application_Model_RightRoles();
+ $rightroles->setRightID($rightID);
+ $rightroles->setRoleID($roleID);
+ try {
+ $this->rightRolesMapper->save($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;
diff --git a/application/modules/user/forms/LinkRight.php b/application/modules/user/forms/LinkRight.php
index 54aacd6..80cfb1d 100644
--- a/application/modules/user/forms/LinkRight.php
+++ b/application/modules/user/forms/LinkRight.php
@@ -3,29 +3,54 @@
class user_Form_LinkRight extends Zend_Form
{
private $rightlist;
- private $roleID;
public function setRightlist($rightlist){
$this->rightlist = $rightlist;
}
- public function setRoleID($roleID){
- $this->roleID = $roleID;
- }
-
public function init()
{
- $this->setName("LinkRight");
+ $this->setName("LinkRights");
$this->setMethod('post');
- $rightfield = $this->createElement('select','rightID',array('label'=> 'Right: ','required' => true,'multioptions'=> $this->rightlist));
- $rightfield->setRegisterInArrayValidator(false);
- $this->addElement($rightfield);
+ $sform = new Zend_Form_SubForm(array('legend' => 'Rights:'));
+
+ $sform->addElement('button', 'checkAll', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Check All',
+ 'class' => 'leftbutton',
+ 'onclick' => "checkAllCheckBoxes();",
+ ));
+
+ $sform->addElement('button', 'uncheckAll', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Uncheck All',
+ 'onclick' => "uncheckAllCheckBoxes();",
+ ));
+
+ if(count($this->rightlist) > 0) {
+ foreach($this->rightlist as $rightcategory => $rights) {
+ foreach($rights as $rightID => $rightTitle) {
+ $element = $this->createElement('checkbox', "$rightID", array(
+ 'label' => $rightTitle . ':',
+ 'belongsTo' => 'rights',
+ ));
+ $elements[] = $rightID;
+ $sform->addElement($element);
+ }
+ $sform->addDisplayGroup($elements, "$rightcategory", array("legend" => $rightcategory . ":"));
+ unset($elements);
+ }
+ }
+
+ $this->addSubForm($sform, 'rights');
$this->addElement('submit', 'link', array(
'required' => false,
'ignore' => true,
- 'label' => 'Add',
+ 'label' => 'Add Rights',
));
$this->addElement('button', 'cancel', array(
diff --git a/application/modules/user/forms/RoleAdd.php b/application/modules/user/forms/RoleAdd.php
index 5968b47..d165701 100644
--- a/application/modules/user/forms/RoleAdd.php
+++ b/application/modules/user/forms/RoleAdd.php
@@ -32,6 +32,21 @@ class user_Form_RoleAdd extends Zend_Form
));
$sform = new Zend_Form_SubForm(array('legend' => 'Rights:'));
+
+ $sform->addElement('button', 'checkAll', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Check All',
+ 'class' => 'leftbutton',
+ 'onclick' => "checkAllCheckBoxes(new Array('inheritance'));",
+ ));
+
+ $sform->addElement('button', 'uncheckAll', array(
+ 'required' => false,
+ 'ignore' => true,
+ 'label' => 'Uncheck All',
+ 'onclick' => "uncheckAllCheckBoxes(new Array('inheritance'));",
+ ));
if(count($this->rightlist) > 0) {
foreach($this->rightlist as $rightcategory => $rights) {
foreach($rights as $rightID => $rightTitle) {
@@ -46,6 +61,7 @@ class user_Form_RoleAdd extends Zend_Form
unset($elements);
}
}
+
$this->addSubForm($sform, 'rights');
$this->addElement('checkbox', 'inheritance', array(
diff --git a/application/modules/user/layouts/user.phtml b/application/modules/user/layouts/user.phtml
index edbe209..b27b747 100644
--- a/application/modules/user/layouts/user.phtml
+++ b/application/modules/user/layouts/user.phtml
@@ -29,60 +29,52 @@ echo $this->headScript()."\n";
<li class='navTreeItem'><a href='/user/'>user</a></li>
<li>
<ul class='navTreeLevel1'>
- <?php if (Zend_Auth::getInstance()->hasIdentity() && count(Zend_Session::namespaceGet('userIDs')) > 0) {
- # This should be splitted
- if(Pbs_Acl::checkRight('psod'))
- echo "<li class='navTreeItem'><a href='/user/person'>Own Details</a></li>";
- if(Pbs_Acl::checkRight('pso'))
- echo "<li class='navTreeItem'><a href='/user/person/showall'>Personlist</a></li>";
- if(Pbs_Acl::checkRight('gsdo'))
- echo "<li class='navTreeItem'><a href='/user/group'>Own Group</a></li>";
- if(Pbs_Acl::checkRight('gso'))
- echo "<li class='navTreeItem'><a href='/user/group/showall'>Grouplist</a></li>";
- if(Pbs_Acl::checkRight('ro'))
- echo "<li class='navTreeItem'><a href='/user/role'>Role</a></li>";
- if(Pbs_Acl::checkRight('bai') || Pbs_Acl::checkRight('bui'))
- echo "<li class='navTreeItem'><a href='/user/bootiso'>BootIso</a></li>";
- if(Pbs_Acl::checkRight('pro'))
- echo "<li class='navTreeItem'><a href='/user/preboot'>PreBoot</a></li>";
- if(Pbs_Acl::checkRight('booai') || Pbs_Acl::checkRight('booui'))
- echo "<li class='navTreeItem'><a href='/user/bootmenu'>BootMenu</a></li>";
- if(Pbs_Acl::checkRight('csai') || Pbs_Acl::checkRight('csui'))
- echo "<li class='navTreeItem'><a href='/user/config'>Config</a></li>";
- if(Pbs_Acl::checkRight('boai') || Pbs_Acl::checkRight('boui'))
- echo "<li class='navTreeItem'><a href='/user/bootos'>BootOs</a></li>";
- if(Pbs_Acl::checkRight('clo'))
- echo "<li class='navTreeItem'><a href='/user/client'>Client</a></li>";
- if(Pbs_Acl::checkRight('fo'))
- echo "<li class='navTreeItem'><a href='/user/filter'>Filter</a></li>";
- if(Pbs_Acl::checkRight('poo'))
- echo "<li class='navTreeItem'><a href='/user/pool'>Pool</a></li>";
- if(Pbs_Acl::checkRight('so'))
- echo "<li class='navTreeItem'><a href='/user/session'>Session</a></li>";
- }
- ?>
- <?php if (!Zend_Auth::getInstance()->hasIdentity()) {?>
- <li class='navTreeItem'><a href='/user/auth/login'>Login</a></li>
- <li class='navTreeItem'><a href='/user/auth/register'>Register</a></li>
- <?php
- } else {
+ <?php if (Zend_Auth::getInstance()->hasIdentity() && count(Zend_Session::namespaceGet('userIDs')) > 0) {
+ # This should be splitted
+ if(Pbs_Acl::checkRight('psod'))
+ echo "<li class='navTreeItem'><a href='/user/person'>Own Details</a></li>";
+ if(Pbs_Acl::checkRight('pso'))
+ echo "<li class='navTreeItem'><a href='/user/person/showall'>Personlist</a></li>";
+ if(Pbs_Acl::checkRight('gsdo'))
+ echo "<li class='navTreeItem'><a href='/user/group'>Own Group</a></li>";
+ if(Pbs_Acl::checkRight('gso'))
+ echo "<li class='navTreeItem'><a href='/user/group/showall'>Grouplist</a></li>";
+ if(Pbs_Acl::checkRight('ro'))
+ echo "<li class='navTreeItem'><a href='/user/role'>Rolelist</a></li>";
+ if(Pbs_Acl::checkRight('bai') || Pbs_Acl::checkRight('bui'))
+ echo "<li class='navTreeItem'><a href='/user/bootiso'>BootIso</a></li>";
+ if(Pbs_Acl::checkRight('pro'))
+ echo "<li class='navTreeItem'><a href='/user/preboot'>PreBoot</a></li>";
+ if(Pbs_Acl::checkRight('booai') || Pbs_Acl::checkRight('booui'))
+ echo "<li class='navTreeItem'><a href='/user/bootmenu'>BootMenu</a></li>";
+ if(Pbs_Acl::checkRight('csai') || Pbs_Acl::checkRight('csui'))
+ echo "<li class='navTreeItem'><a href='/user/config'>Config</a></li>";
+ if(Pbs_Acl::checkRight('boai') || Pbs_Acl::checkRight('boui'))
+ echo "<li class='navTreeItem'><a href='/user/bootos'>BootOs</a></li>";
+ if(Pbs_Acl::checkRight('clo'))
+ echo "<li class='navTreeItem'><a href='/user/client'>Client</a></li>";
+ if(Pbs_Acl::checkRight('fo'))
+ echo "<li class='navTreeItem'><a href='/user/filter'>Filter</a></li>";
+ if(Pbs_Acl::checkRight('poo'))
+ echo "<li class='navTreeItem'><a href='/user/pool'>Pool</a></li>";
+ if(Pbs_Acl::checkRight('so'))
+ echo "<li class='navTreeItem'><a href='/user/session'>Session</a></li>";
+ }
+ ?>
+ <?php if (!Zend_Auth::getInstance()->hasIdentity()) {
+ echo "<li class='navTreeItem'><a href='/user/auth/login'>Login</a></li>";
+ echo "<li class='navTreeItem'><a href='/user/auth/register'>Register</a></li>";
+ } else {
if(count(Zend_Session::namespaceGet('userIDs')) > 0) {
- ?>
- <li class='navTreeItem'><a href='/user/person/changemembership'>Change
- Membership</a></li>
- <?php
+ echo "<li class='navTreeItem'><a href='/user/person/changemembership'>Change Membership</a></li>";
} else {
- ?>
- <li class='navTreeItem'><a href='/user/person/selectmembership'>Select
- Membership</a></li>
- <?php
+ echo "<li class='navTreeItem'><a href='/user/person/selectmembership'>Select Membership</a></li>";
}
- ?>
- <li class='navTreeItem'><a href='/user/auth/delete'>Delete Account</a></li>
- <li class='navTreeItem'><a href='/user/auth/logout'>Logout</a></li>
- <?php
- }
- ?>
+ if(Pbs_Acl::checkRight('pdo'))
+ echo "<li class='navTreeItem'><a href='/user/auth/delete'>Delete Account</a></li>";
+ echo "<li class='navTreeItem'><a href='/user/auth/logout'>Logout</a></li>";
+ }
+ ?>
</ul>
</li>
</ul>
@@ -97,11 +89,11 @@ echo $this->headScript()."\n";
</div>
<div id="logo-bar-red"></div>
<div id="head-titlebar">
-<div style='float:right'><?php
+<div style='float: right'><?php
if(Zend_Auth::getInstance()->hasIdentity()){
echo 'Angemeldet als ';
$userIDsNamespace = Zend_Session::namespaceGet('userIDs');
-
+
if(isset($userIDsNamespace['membershipID'])){
$membershipMapper = new Application_Model_MembershipMapper();
$membership = new Application_Model_Membership();
@@ -122,8 +114,7 @@ if(Zend_Auth::getInstance()->hasIdentity()){
echo "<b><i>".$role->getTitle()."</i></b>";
}
}
-?>
-</div>
+?></div>
<?php
echo ucwords($request->getControllerName()) . " > " . ucwords($request->getActionName());
?></div>
diff --git a/application/modules/user/views/scripts/role/show.phtml b/application/modules/user/views/scripts/role/show.phtml
index 6769336..8194353 100644
--- a/application/modules/user/views/scripts/role/show.phtml
+++ b/application/modules/user/views/scripts/role/show.phtml
@@ -33,7 +33,7 @@ if($this->roleID) {
<h2>Rights:</h2>
<?php
if($this->rightsAvailable === true) {
- echo $this->formButton('linkright', 'Add Right', array(
+ echo $this->formButton('linkright', 'Add Rights', array(
'onclick' => 'self.location="/user/role/linkright/roleID/' . $this->role->getID() .'"',
'class' => 'addbutton'))?>
<br />