From 58dfe1b55ef3ead11117e19b4abb84c6b83814c1 Mon Sep 17 00:00:00 2001 From: Björn Geiger Date: Tue, 5 Apr 2011 17:36:08 +0200 Subject: Paging bei Person, Group und Role --- .../modules/user/controllers/GroupController.php | 25 ++++++++++++++-- .../modules/user/controllers/PersonController.php | 35 ++++++++++++++++++++-- .../modules/user/controllers/RoleController.php | 12 ++++++-- .../modules/user/views/scripts/group/show.phtml | 1 + .../modules/user/views/scripts/group/showall.phtml | 1 + .../modules/user/views/scripts/person/index.phtml | 3 +- .../modules/user/views/scripts/person/show.phtml | 2 +- .../user/views/scripts/person/showall.phtml | 3 ++ .../modules/user/views/scripts/role/index.phtml | 2 +- 9 files changed, 74 insertions(+), 10 deletions(-) diff --git a/application/modules/user/controllers/GroupController.php b/application/modules/user/controllers/GroupController.php index 83358c4..0eb32b6 100644 --- a/application/modules/user/controllers/GroupController.php +++ b/application/modules/user/controllers/GroupController.php @@ -153,7 +153,19 @@ class User_GroupController extends Zend_Controller_Action ); } if(is_array($membersList)) { - $this->view->membersList = $membersList; + // Member Pagination + $memberPagination = new Pbs_Pagination(); + $memberPagination->setPerPage(5); + $memberPagination->setElement($membersList); + $memberPagination->setRequestPage($this->_request->getParam('page')); + if($this->_request->getParam('groupID')) { + $memberPagination->setPageUrl('/user/group/show/groupID/' . $groupID . ((isset($this->view->search))?'/search/'.$this->view->search:'')); + } else { + $memberPagination->setPageUrl('/user/group/show'.((isset($this->view->search))?'/search/'.$this->view->search:'')); + } + $this->view->membersList = $memberPagination->getElements(); + $this->view->memberPagination = $memberPagination->pagination($pageurl); + $this->view->page = $memberPagination->getRequestPage(); } } $groupgroups = $this->groupGroupsMapper->findBy(array('groupID' => $groupID),true); @@ -280,8 +292,17 @@ class User_GroupController extends Zend_Controller_Action public function showallAction() { + // Pagination + $pagination = new Pbs_Pagination(); + $pagination->setPerPage(5); + $pagination->setElement($this->groupList); + $pagination->setRequestPage($this->_request->getParam('page')); + $pagination->setPageUrl('/user/group/showall'.((isset($this->view->search))?'/search/'.$this->view->search:'')); + + $this->view->groupList = $pagination->getElements(); + $this->view->pagination = $pagination->pagination($pageurl); + $this->view->page = $pagination->getRequestPage(); $this->view->userIDsNamespace = $this->userIDsNamespace; - $this->view->groupList = $this->groupList; } diff --git a/application/modules/user/controllers/PersonController.php b/application/modules/user/controllers/PersonController.php index 08add21..201b452 100644 --- a/application/modules/user/controllers/PersonController.php +++ b/application/modules/user/controllers/PersonController.php @@ -50,7 +50,16 @@ class user_PersonController extends Zend_Controller_Action $this->_redirect('/user'); } $this->view->person = $this->person; - $this->view->groups = $this->groups; + // Pagination + $pagination = new Pbs_Pagination(); + $pagination->setPerPage(1); + $pagination->setElement($this->groups); + $pagination->setRequestPage($this->_request->getParam('page')); + $pagination->setPageUrl('/user/person/index' .((isset($this->view->search))?'/search/'.$this->view->search:'')); + + $this->view->groups = $pagination->getElements(); + $this->view->pagination = $pagination->pagination($pageurl); + $this->view->page = $pagination->getRequestPage(); $this->view->groupRequestRight = Pbs_Acl::checkRight('grm'); $this->view->editRight = Pbs_Acl::checkRight('peoa'); $this->view->leaveRight = Pbs_Acl::checkRight('gl'); @@ -266,7 +275,17 @@ class user_PersonController extends Zend_Controller_Action $this->view->editOtherRight = Pbs_Acl::checkRight('peoa'); $this->view->deleteOtherRight = Pbs_Acl::checkRight('pdo'); $this->view->userIDsNamespace = $this->userIDsNamespace; - $this->view->personList = $this->personmapper->fetchAll(); + + // Pagination + $pagination = new Pbs_Pagination(); + $pagination->setPerPage(5); + $pagination->setElement($this->personmapper->fetchAll()); + $pagination->setRequestPage($this->_request->getParam('page')); + $pagination->setPageUrl('/user/person/showall'.((isset($this->view->search))?'/search/'.$this->view->search:'')); + + $this->view->personList = $pagination->getElements(); + $this->view->pagination = $pagination->pagination($pageurl); + $this->view->page = $pagination->getRequestPage(); } public function showAction() @@ -290,7 +309,17 @@ class user_PersonController extends Zend_Controller_Action } } $this->view->person = $person; - $this->view->groups = $groups; + + // Pagination + $pagination = new Pbs_Pagination(); + $pagination->setPerPage(2); + $pagination->setElement($groups); + $pagination->setRequestPage($this->_request->getParam('page')); + $pagination->setPageUrl('/user/person/show/personID/' . $personID .((isset($this->view->search))?'/search/'.$this->view->search:'')); + + $this->view->groups = $pagination->getElements(); + $this->view->pagination = $pagination->pagination($pageurl); + $this->view->page = $pagination->getRequestPage(); $this->view->personID = $personID; $this->view->editRight = Pbs_Acl::checkRight('peoa'); $this->view->deleteRight = Pbs_Acl::checkRight('pd'); diff --git a/application/modules/user/controllers/RoleController.php b/application/modules/user/controllers/RoleController.php index 38c12b0..86872f0 100644 --- a/application/modules/user/controllers/RoleController.php +++ b/application/modules/user/controllers/RoleController.php @@ -23,8 +23,16 @@ class User_RoleController extends Zend_Controller_Action public function indexAction() { if(isset($this->userIDsNamespace['groupID'])) { - $roleList = $this->roleMapper->findBy(array('groupID' => $this->userIDsNamespace['groupID']),true); - $this->view->roleList = $roleList; + // Pagination + $pagination = new Pbs_Pagination(); + $pagination->setPerPage(5); + $pagination->setElement($this->roleMapper->findBy(array('groupID' => $this->userIDsNamespace['groupID']),true)); + $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->page = $pagination->getRequestPage(); $this->view->userIDsNamespace = $this->userIDsNamespace; } else { $this->_helper->redirector('selectmembership', 'person'); diff --git a/application/modules/user/views/scripts/group/show.phtml b/application/modules/user/views/scripts/group/show.phtml index 9777b21..12c149f 100644 --- a/application/modules/user/views/scripts/group/show.phtml +++ b/application/modules/user/views/scripts/group/show.phtml @@ -122,6 +122,7 @@ if($this->groupID) { } ?> + memberPagination; ?> +pagination; ?> formButton('linkgroups', 'Link Groups', array( 'onclick' => 'self.location="/user/group/link"', 'class' => 'addbutton')) diff --git a/application/modules/user/views/scripts/person/index.phtml b/application/modules/user/views/scripts/person/index.phtml index 715bd95..824e7fb 100644 --- a/application/modules/user/views/scripts/person/index.phtml +++ b/application/modules/user/views/scripts/person/index.phtml @@ -61,7 +61,8 @@ if(isset($this->groups)) { } ?> - groupRequestRight === true) echo $this->formButton('addtogroup', 'Add to additional + pagination; + if($this->groupRequestRight === true) echo $this->formButton('addtogroup', 'Add to additional Groups', array( 'onclick' => 'self.location="/user/person/request/"', 'class' => 'addbutton')); diff --git a/application/modules/user/views/scripts/person/show.phtml b/application/modules/user/views/scripts/person/show.phtml index a380b3c..be973b9 100644 --- a/application/modules/user/views/scripts/person/show.phtml +++ b/application/modules/user/views/scripts/person/show.phtml @@ -41,7 +41,7 @@ if(isset($this->groups)) { } ?> - pagination; } ?>
diff --git a/application/modules/user/views/scripts/person/showall.phtml b/application/modules/user/views/scripts/person/showall.phtml index 68e9e7c..d605f70 100644 --- a/application/modules/user/views/scripts/person/showall.phtml +++ b/application/modules/user/views/scripts/person/showall.phtml @@ -115,3 +115,6 @@ } ?> + pagination; ?> +
+
diff --git a/application/modules/user/views/scripts/role/index.phtml b/application/modules/user/views/scripts/role/index.phtml index a0b4284..8ca2bd6 100644 --- a/application/modules/user/views/scripts/role/index.phtml +++ b/application/modules/user/views/scripts/role/index.phtml @@ -54,7 +54,7 @@ if($this->userIDsNamespace['groupID']) { } ?> - pagination; } ?>
-- cgit v1.2.3-55-g7522