From a3fe05f88ef948366d58dbc47b3d55a8b4511df5 Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 13 Apr 2011 12:59:17 +0200 Subject: Erster Teil der Rechte in Group Controller --- .../modules/user/controllers/GroupController.php | 65 ++++++++++++++++------ 1 file changed, 48 insertions(+), 17 deletions(-) (limited to 'application/modules/user/controllers/GroupController.php') diff --git a/application/modules/user/controllers/GroupController.php b/application/modules/user/controllers/GroupController.php index 37cdee8..fb0d2a9 100644 --- a/application/modules/user/controllers/GroupController.php +++ b/application/modules/user/controllers/GroupController.php @@ -10,6 +10,7 @@ class User_GroupController extends Zend_Controller_Action protected $rolemapper = null; protected $groupList = null; protected $userIDsNamespace = null; + protected $membership; public function init() { @@ -22,6 +23,11 @@ class User_GroupController extends Zend_Controller_Action $this->personmapper = new Application_Model_PersonMapper(); $this->rolemapper = new Application_Model_RoleMapper(); $this->groupList = $this->groupMapper->fetchAll(); + + $userIDsNamespace = Zend_Session::namespaceGet('userIDs'); + $this->membership = new Application_Model_Membership(); + $this->membershipMapper->find($userIDsNamespace['membershipID'],$this->membership); + } else { $this->_helper->redirector('login', 'auth'); return; @@ -30,6 +36,10 @@ class User_GroupController extends Zend_Controller_Action public function indexAction() { + // ACL show overview + if(!Pbs_Acl::checkRight('gso')) + $this->_redirect('/user'); + $this->view->groupList = $this->groupList; // Search @@ -62,6 +72,10 @@ class User_GroupController extends Zend_Controller_Action public function addAction() { + // ACL create new group + if(!Pbs_Acl::checkRight('gc')) + $this->_redirect('/user'); + if (!isset($_POST["add"])){ $addForm = new user_Form_GroupAdd(array('grouplist' => $this->groupList)); } else { @@ -139,6 +153,11 @@ class User_GroupController extends Zend_Controller_Action public function editAction() { + // ACL edit a group + // TODO: THERE IS NO RIGHT TO EDIT A GROUP + #if(!Pbs_Acl::checkRight('')) + # $this->_redirect('/user'); + $groupID = $this->_request->getParam('groupID'); if(!isset($groupID)) { if(count($this->userIDsNamespace) > 0) { @@ -176,27 +195,42 @@ class User_GroupController extends Zend_Controller_Action public function showAction() { + // ACL create new group + if(!Pbs_Acl::checkRight('gsdo') && !Pbs_Acl::checkRight('gsdog')) + $this->_redirect('/user'); + $groupID = $this->_request->getParam('groupID'); - if(!isset($groupID)) { + if($groupID == '' || !Pbs_Acl::checkRight('gsdog')) { if(count($this->userIDsNamespace) > 0) { $groupID = $this->userIDsNamespace['groupID']; } } - if($groupID) { + if($groupID == $this->membership->getGroupID() && !Pbs_Acl::checkRight('gsdo')) + $this->_redirect('/user'); + + $this->view->usergroup = $this->membership->getGroupID(); + $this->view->requestgroup = $groupID; + // ACL is he allowed to see the requests of a group ? + // TODO: THERE IS NO RIGHT TO EDIT A GROUP + # if(Pbs_Acl::checkRight('')){ $groupRequests = $this->groupRequestMapper->findBy(array('groupID' => $groupID),true); if(isset($groupRequests)) { foreach($groupRequests as $groupRequest) { $person = $this->personmapper->find($groupRequest['personID']); $groupRequestList[] = array( - 'grouprequestID' => $groupRequest['grouprequestID'], - 'person' => $person + 'grouprequestID' => $groupRequest['grouprequestID'], + 'person' => $person ); } if(is_array($groupRequestList)) { $this->view->groupRequestList = $groupRequestList; } + // TODO: expand with al inherit roles $this->view->roleList = $this->rolemapper->findBy(array('groupID' => $groupID),true); } + # } + + if(Pbs_Acl::checkRight('gsmg')){ $members = $this->membershipMapper->findBy(array('groupID' => $groupID),true); if(isset($members)) { foreach($members as $member) { @@ -225,19 +259,16 @@ class User_GroupController extends Zend_Controller_Action $this->view->page = $memberPagination->getRequestPage(); } } - $groupgroups = $this->groupGroupsMapper->findBy(array('groupID' => $groupID),true); - if(is_object($groupgroups)) { - $parentGroup = $this->groupMapper->find($groupgroups->getParentID()); - $this->view->$parentGroup = $parentGroup; - } - $group = $this->groupMapper->find($groupID); - $this->view->userIDsNamespace = $this->userIDsNamespace; - $this->view->group = $group; - $this->view->groupID = $groupID; - } else { - $this->_redirect('/user/'); - return; } + $groupgroups = $this->groupGroupsMapper->findBy(array('groupID' => $groupID),true); + if(is_object($groupgroups)) { + $parentGroup = $this->groupMapper->find($groupgroups->getParentID()); + $this->view->$parentGroup = $parentGroup; + } + $group = $this->groupMapper->find($groupID); + $this->view->userIDsNamespace = $this->userIDsNamespace; + $this->view->group = $group; + $this->view->groupID = $groupID; } public function linkAction() @@ -355,4 +386,4 @@ class User_GroupController extends Zend_Controller_Action } } } -} \ No newline at end of file +} -- cgit v1.2.3-55-g7522 From 85c7d1157407b132a9f0b71840f65d7ce0119abf Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 13 Apr 2011 14:10:26 +0200 Subject: Zweiter Teil der Rechte in Group Controller --- .../modules/user/controllers/GroupController.php | 41 ++++++++++++++-------- .../modules/user/views/scripts/group/show.phtml | 2 +- 2 files changed, 28 insertions(+), 15 deletions(-) (limited to 'application/modules/user/controllers/GroupController.php') diff --git a/application/modules/user/controllers/GroupController.php b/application/modules/user/controllers/GroupController.php index fb0d2a9..d9fd368 100644 --- a/application/modules/user/controllers/GroupController.php +++ b/application/modules/user/controllers/GroupController.php @@ -300,6 +300,10 @@ class User_GroupController extends Zend_Controller_Action public function deleteAction() { + // ACL delete a group + if(!Pbs_Acl::checkRight('gd')) + $this->_redirect('/user'); + $this->_helper->viewRenderer->setNoRender(); $groupID = $this->_request->getParam('groupID'); if(!isset($groupID)) { @@ -335,6 +339,10 @@ class User_GroupController extends Zend_Controller_Action public function grantpersonAction() { + // ACL grant a membership to request + if(!Pbs_Acl::checkRight('gam')) + $this->_redirect('/user'); + $this->_helper->viewRenderer->setNoRender(); if(isset($_POST['grouprequestID']) && isset($_POST['roleID'])) { $groupRequest = $this->groupRequestMapper->find($_POST['grouprequestID']); @@ -369,21 +377,26 @@ class User_GroupController extends Zend_Controller_Action public function revokepersonAction() { + $this->_helper->viewRenderer->setNoRender(); $membershipID = $this->_request->getParam('membershipID'); - if(isset($membershipID)) { - $membership = $this->membershipMapper->find($membershipID); - if(isset($membership)) { - try { - $this->membershipMapper->delete($membership); - } catch(Zend_Exception $e) - { - echo "Caught exception: " . get_class($e) . "
"; - echo "Message: " . $e->getMessage() . "
"; - return; + $rr = $this->membershipMapper->find($membershipID); + + if(($rr->getGroupID() == $this->membership->getGroupID && Pbs_Acl::checkRight('gdmo') ) || ( $rr->getGroupID() != $this->membership->getGroupID && Pbs_Acl::checkRight('gdmog'))){ + if(isset($membershipID)) { + $membership = $this->membershipMapper->find($membershipID); + if(isset($membership)) { + try { + $this->membershipMapper->delete($membership); + } catch(Zend_Exception $e) + { + echo "Caught exception: " . get_class($e) . "
"; + echo "Message: " . $e->getMessage() . "
"; + return; + } + $this->_redirect("/user/group/show/groupID/" . $membership->getGroupID()); } - $this->_redirect("/user/group/show/groupID/" . $membership->getGroupID()); - } - - } } + } + } + } } diff --git a/application/modules/user/views/scripts/group/show.phtml b/application/modules/user/views/scripts/group/show.phtml index 18bc33a..b2a85ac 100644 --- a/application/modules/user/views/scripts/group/show.phtml +++ b/application/modules/user/views/scripts/group/show.phtml @@ -1,4 +1,4 @@ -

Groupdetails

+

Groupdetails - group->getTitle();?>

usergroup == $this->requestgroup){ echo $this->formButton('deletegroup', 'Delete', array( -- cgit v1.2.3-55-g7522 From 0bdc6974c81deef9ff23021c960f4ec44945af1b Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 13 Apr 2011 14:18:15 +0200 Subject: Anzahl der Einträge in Listen überall auf 10 gesetzt --- application/modules/user/controllers/BootisoController.php | 4 ++-- application/modules/user/controllers/BootmenuController.php | 2 +- application/modules/user/controllers/BootosController.php | 4 ++-- application/modules/user/controllers/ConfigController.php | 4 ++-- application/modules/user/controllers/FilterController.php | 4 ++-- application/modules/user/controllers/GroupController.php | 6 +++--- application/modules/user/controllers/PersonController.php | 6 +++--- application/modules/user/controllers/PoolController.php | 4 ++-- application/modules/user/controllers/PrebootController.php | 4 ++-- application/modules/user/controllers/RoleController.php | 4 ++-- application/modules/user/controllers/SessionController.php | 2 +- 11 files changed, 22 insertions(+), 22 deletions(-) (limited to 'application/modules/user/controllers/GroupController.php') diff --git a/application/modules/user/controllers/BootisoController.php b/application/modules/user/controllers/BootisoController.php index b928a19..f0770e1 100644 --- a/application/modules/user/controllers/BootisoController.php +++ b/application/modules/user/controllers/BootisoController.php @@ -101,13 +101,13 @@ class user_BootisoController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(2); + $pagination->setPerPage(10); $pagination->setElement($this->view->bootisolist); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/bootiso/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $this->view->bootisolist = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); } diff --git a/application/modules/user/controllers/BootmenuController.php b/application/modules/user/controllers/BootmenuController.php index 5082aaf..b03888e 100644 --- a/application/modules/user/controllers/BootmenuController.php +++ b/application/modules/user/controllers/BootmenuController.php @@ -123,7 +123,7 @@ class user_BootmenuController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(3); + $pagination->setPerPage(10); $pagination->setElement($bootmenu); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/bootmenu/index/type/'.$this->type.((isset($this->view->search))?'/search/'.$this->view->search:'')); diff --git a/application/modules/user/controllers/BootosController.php b/application/modules/user/controllers/BootosController.php index df2d7fd..2fe8f41 100644 --- a/application/modules/user/controllers/BootosController.php +++ b/application/modules/user/controllers/BootosController.php @@ -106,13 +106,13 @@ class user_BootosController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(5); + $pagination->setPerPage(10); $pagination->setElement($this->view->bootoslist); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/bootos/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $this->view->bootoslist = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); diff --git a/application/modules/user/controllers/ConfigController.php b/application/modules/user/controllers/ConfigController.php index 2491c0e..a835b31 100644 --- a/application/modules/user/controllers/ConfigController.php +++ b/application/modules/user/controllers/ConfigController.php @@ -85,13 +85,13 @@ class user_ConfigController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(4); + $pagination->setPerPage(10); $pagination->setElement($this->view->configlist); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/config/index/type/'.$this->type.((isset($this->view->search))?'/search/'.$this->view->search:'')); $this->view->configlist = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); } diff --git a/application/modules/user/controllers/FilterController.php b/application/modules/user/controllers/FilterController.php index a65aba5..0d9ea05 100644 --- a/application/modules/user/controllers/FilterController.php +++ b/application/modules/user/controllers/FilterController.php @@ -72,13 +72,13 @@ class User_FilterController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(5); + $pagination->setPerPage(10); $pagination->setElement($allFilter); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/filter/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $allFilter = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); $this->view->filters = $allFilter; diff --git a/application/modules/user/controllers/GroupController.php b/application/modules/user/controllers/GroupController.php index d9fd368..9a5380a 100644 --- a/application/modules/user/controllers/GroupController.php +++ b/application/modules/user/controllers/GroupController.php @@ -55,13 +55,13 @@ class User_GroupController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(5); + $pagination->setPerPage(10); $pagination->setElement($this->view->groupList); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/group/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $this->view->groupList = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); $this->view->userIDsNamespace = $this->userIDsNamespace; } @@ -246,7 +246,7 @@ class User_GroupController extends Zend_Controller_Action if(is_array($membersList)) { // Member Pagination $memberPagination = new Pbs_Pagination(); - $memberPagination->setPerPage(5); + $memberPagination->setPerPage(10); $memberPagination->setElement($membersList); $memberPagination->setRequestPage($this->_request->getParam('page')); if($this->_request->getParam('groupID')) { diff --git a/application/modules/user/controllers/PersonController.php b/application/modules/user/controllers/PersonController.php index bbdf232..98f7bb5 100644 --- a/application/modules/user/controllers/PersonController.php +++ b/application/modules/user/controllers/PersonController.php @@ -80,7 +80,7 @@ class user_PersonController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(5); + $pagination->setPerPage(10); $pagination->setElement($this->view->personList); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/person/index/'.((isset($this->view->search))?'/search/'.$this->view->search:'')); @@ -111,7 +111,7 @@ class user_PersonController extends Zend_Controller_Action } // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(3); + $pagination->setPerPage(10); $pagination->setElement($this->groups); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/person/index' .((isset($this->view->search))?'/search/'.$this->view->search:'')); @@ -375,7 +375,7 @@ class user_PersonController extends Zend_Controller_Action } // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(2); + $pagination->setPerPage(10); $pagination->setElement($groups); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/person/show/personID/' . $personID .((isset($this->view->search))?'/search/'.$this->view->search:'')); diff --git a/application/modules/user/controllers/PoolController.php b/application/modules/user/controllers/PoolController.php index 942f988..5c137a3 100644 --- a/application/modules/user/controllers/PoolController.php +++ b/application/modules/user/controllers/PoolController.php @@ -78,13 +78,13 @@ class User_PoolController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(4); + $pagination->setPerPage(10); $pagination->setElement($yourpools); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/pool/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $yourpools = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); $this->view->pools = $yourpools; diff --git a/application/modules/user/controllers/PrebootController.php b/application/modules/user/controllers/PrebootController.php index 2aeafda..2e46b59 100644 --- a/application/modules/user/controllers/PrebootController.php +++ b/application/modules/user/controllers/PrebootController.php @@ -74,13 +74,13 @@ class User_PrebootController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(2); + $pagination->setPerPage(10); $pagination->setElement($this->view->prebootlist); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/preboot/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $this->view->prebootlist = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); $this->view->update = array(); diff --git a/application/modules/user/controllers/RoleController.php b/application/modules/user/controllers/RoleController.php index 1b2e54f..2c22031 100644 --- a/application/modules/user/controllers/RoleController.php +++ b/application/modules/user/controllers/RoleController.php @@ -41,13 +41,13 @@ class User_RoleController extends Zend_Controller_Action // Pagination $pagination = new Pbs_Pagination(); - $pagination->setPerPage(5); + $pagination->setPerPage(10); $pagination->setElement($this->view->roleList); $pagination->setRequestPage($this->_request->getParam('page')); $pagination->setPageUrl('/user/role/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $this->view->roleList = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); $this->view->addRight = Pbs_Acl::checkRight('ra'); $this->view->editRight = Pbs_Acl::checkRight('re'); diff --git a/application/modules/user/controllers/SessionController.php b/application/modules/user/controllers/SessionController.php index c00d759..e17dbfe 100644 --- a/application/modules/user/controllers/SessionController.php +++ b/application/modules/user/controllers/SessionController.php @@ -94,7 +94,7 @@ class User_SessionController extends Zend_Controller_Action $pagination->setPageUrl('/user/session/index'.((isset($this->view->search))?'/search/'.$this->view->search:'')); $mySessions = $pagination->getElements(); - $this->view->pagination = $pagination->pagination($pageurl); + $this->view->pagination = $pagination->pagination(); $this->view->page = $pagination->getRequestPage(); $this->view->sessions = $mySessions; -- cgit v1.2.3-55-g7522