summaryrefslogtreecommitdiffstats
path: root/application/modules/dev/controllers/GroupController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/modules/dev/controllers/GroupController.php')
-rw-r--r--application/modules/dev/controllers/GroupController.php488
1 files changed, 235 insertions, 253 deletions
diff --git a/application/modules/dev/controllers/GroupController.php b/application/modules/dev/controllers/GroupController.php
index 4188a1d..08bbe45 100644
--- a/application/modules/dev/controllers/GroupController.php
+++ b/application/modules/dev/controllers/GroupController.php
@@ -1,258 +1,240 @@
-<?php
+<? php
/*
* Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
- * This program is free software distributed under the GPL version 2.
- * See http://gpl.openslx.org/
- *
- * If you have any feedback please consult http://feedback.openslx.org/ and
- * send your suggestions, praise, or complaints to feedback@openslx.org
- *
- * General information about OpenSLX can be found at http://openslx.org/
- */
-
-class dev_GroupController extends Zend_Controller_Action
-{
- protected $groupMapper;
- protected $groupGroupsMapper;
- protected $membershipMapper;
- protected $groupRequestMapper;
- protected $personmapper;
- protected $rolemapper;
- protected $groupList;
-
- public function init()
- {
- if (Zend_Auth::getInstance()->hasIdentity()) {
- $this->groupMapper = new Application_Model_GroupMapper();
- $this->groupGroupsMapper = new Application_Model_GroupGroupsMapper();
- $this->membershipMapper = new Application_Model_MembershipMapper();
- $this->groupRequestMapper = new Application_Model_GroupRequestMapper();
- $this->personmapper = new Application_Model_PersonMapper();
- $this->rolemapper = new Application_Model_RoleMapper();
- $this->groupList = $this->groupMapper->fetchAll();
- } else {
- $this->_helper->redirector('login', 'auth');
- return;
- }
- }
-
- public function indexAction()
- {
- $this->view->groupList = $this->groupList;
- }
-
- public function addAction()
- {
- if (!isset($_POST["add"])){
- $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList));
- } else {
- $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList),$_POST);
-
- if ($addForm->isValid($_POST)) {
- $group = new Application_Model_Group($_POST);
- try {
- $this->groupMapper->save($group);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- if($_POST['superordinatedGroupID'] != -1) {
- $lastID = $this->groupMapper->getDbTable()->getDefaultAdapter()->lastInsertId();
- $groupgroups = new Application_Model_GroupGroups();
- $groupgroups->setParentID($_POST['superordinatedGroupID']);
- $groupgroups->setGroupID($lastID);
- try {
- $this->groupGroupsMapper->save($groupgroups);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
-
- }
- $this->_helper->redirector('', 'group');
- return;
- }
- }
-
- $this->view->addForm = $addForm;
- }
-
- public function editAction()
- {
- $groupID = $this->_request->getParam('groupID');
- if(!isset($groupID)) {
- $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList));
- $this->view->addForm = $addForm;
- return;
- }
- if (!isset($_POST["save"])){
- $group = $this->groupMapper->find($groupID);
- $_POST['title'] = $group->getTitle();
- $_POST['description'] = $group->getDescription();
- $editForm = new dev_Form_GroupEdit();
- } else {
- $editForm = new dev_Form_GroupEdit($_POST);
- if ($editForm->isValid($_POST)) {
- $group = new Application_Model_Group($_POST);
- $group->setID($this->_request->getParam('groupID'));
- try {
- $this->groupMapper->save($group);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $this->_helper->redirector('', 'group');
- return;
- }
- }
-
- $this->view->editForm = $editForm;
-
- }
-
- public function showAction()
- {
- $groupID = $this->_request->getParam('groupID');
- if($groupID) {
- $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
- );
- }
- if(is_array($groupRequestList)) {
- $this->view->groupRequestList = $groupRequestList;
- }
- $this->view->roleList = $this->rolemapper->findBy('groupID', $groupID);
- }
- $members = $this->membershipMapper->findBy('groupID', $groupID);
- if(isset($members)) {
- foreach($members as $member) {
- $person = $this->personmapper->find($member['personID']);
- $membersList[] = array(
- 'membershipID' => $member['membershipID'],
- 'person' => $person
- );
- }
- if(is_array($membersList)) {
- $this->view->membersList = $membersList;
- }
- }
- $groupgroups = $this->groupGroupsMapper->findBy('groupID', $groupID);
- if(is_object($groupgroups)) {
- $parentGroup = $this->groupMapper->find($groupgroups->getParentID());
- $this->view->$parentGroup = $parentGroup;
- }
- $group = $this->groupMapper->find($groupID);
- $this->view->group = $group;
- $this->view->groupID = $groupID;
- }
- }
-
- public function linkAction()
- {
- if (!isset($_POST["link"])){
- $linkForm = new dev_Form_GroupLink(array('grouplist' => $this->groupList));
- } else {
- $linkForm = new dev_Form_GroupLink(array('grouplist' => $this->groupList),$_POST);
-
- if ($linkForm->isValid($_POST)) {
- $groupgroups = new Application_Model_GroupGroups();
- $groupgroups->setParentID($_POST['superordinatedGroupID']);
- $groupgroups->setGroupID($_POST['groupID']);
- try {
- $this->groupGroupsMapper->save($groupgroups);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $this->_helper->redirector('', 'group');
- return;
- }
- }
-
- $this->view->linkForm = $linkForm;
- }
-
- public function deleteAction()
- {
- $this->_helper->viewRenderer->setNoRender();
- $groupID = $this->_request->getParam('groupID');
- if (isset($groupID)){
- $group = $this->groupMapper->find($groupID);
- try {
- $this->groupMapper->delete($group);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $this->_helper->redirector('', 'group');
- return;
- }
- }
-
- public function grantpersonAction()
- {
- $this->_helper->viewRenderer->setNoRender();
- if(isset($_POST['grouprequestID']) && isset($_POST['roleID'])) {
- $groupRequest = $this->groupRequestMapper->find($_POST['grouprequestID']);
- try {
- $this->groupRequestMapper->delete($groupRequest);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $membership = new Application_Model_Membership();
- $membership->setGroupID($groupRequest->getGroupID());
- $membership->setPersonID($groupRequest->getPersonID());
- $membership->setRoleID($_POST['roleID']);
- try {
- $this->membershipMapper->save($membership);
- } catch(Zend_Exception $e)
- {
- echo "Caught exception: " . get_class($e) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $this->_redirect("/dev/group/show/groupID/" . $groupRequest->getGroupID());
- }
- }
-
- 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) . "<br/>";
- echo "Message: " . $e->getMessage() . "<br/>";
- return;
- }
- $this->_redirect("/dev/group/edit/groupID/" . $membership->getGroupID());
- }
-
- }
- }
+* This program is free software distributed under the GPL version 2.
+* See http://gpl.openslx.org/
+*
+* If you have any feedback please consult http://feedback.openslx.org/ and
+* send your suggestions, praise, or complaints to feedback@openslx.org
+*
+* General information about OpenSLX can be found at http://openslx.org/
+*/
+
+class dev_GroupController extends Zend_Controller_Action {
+ protected $groupMapper;
+ protected $groupGroupsMapper;
+ protected $membershipMapper;
+ protected $groupRequestMapper;
+ protected $personmapper;
+ protected $rolemapper;
+ protected $groupList;
+
+ public function init() {
+ if (Zend_Auth::getInstance()->hasIdentity()) {
+ $this->groupMapper = new Application_Model_GroupMapper();
+ $this->groupGroupsMapper = new Application_Model_GroupGroupsMapper();
+ $this->membershipMapper = new Application_Model_MembershipMapper();
+ $this->groupRequestMapper = new Application_Model_GroupRequestMapper();
+ $this->personmapper = new Application_Model_PersonMapper();
+ $this->rolemapper = new Application_Model_RoleMapper();
+ $this->groupList = $this->groupMapper->fetchAll();
+ } else {
+ $this->_helper->redirector('login', 'auth');
+ return;
+ }
+ }
+
+ public function indexAction() {
+ $this->view->groupList = $this->groupList;
+ }
+
+ public function addAction() {
+ if (!isset($_POST["add"])) {
+ $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList));
+ } else {
+ $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList), $_POST);
+
+ if ($addForm->isValid($_POST)) {
+ $group = new Application_Model_Group($_POST);
+ try {
+ $this->groupMapper->save($group);
+ } catch(Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ if($_POST['superordinatedGroupID'] != -1) {
+ $lastID = $this->groupMapper->getDbTable()->getDefaultAdapter()->lastInsertId();
+ $groupgroups = new Application_Model_GroupGroups();
+ $groupgroups->setParentID($_POST['superordinatedGroupID']);
+ $groupgroups->setGroupID($lastID);
+ try {
+ $this->groupGroupsMapper->save($groupgroups);
+ } catch(Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+
+ }
+ $this->_helper->redirector('', 'group');
+ return;
+ }
+ }
+
+ $this->view->addForm = $addForm;
+ }
+
+ public function editAction() {
+ $groupID = $this->_request->getParam('groupID');
+ if(!isset($groupID)) {
+ $addForm = new dev_Form_GroupAdd(array('grouplist' => $this->groupList));
+ $this->view->addForm = $addForm;
+ return;
+ }
+ if (!isset($_POST["save"])) {
+ $group = $this->groupMapper->find($groupID);
+ $_POST['title'] = $group->getTitle();
+ $_POST['description'] = $group->getDescription();
+ $editForm = new dev_Form_GroupEdit();
+ } else {
+ $editForm = new dev_Form_GroupEdit($_POST);
+ if ($editForm->isValid($_POST)) {
+ $group = new Application_Model_Group($_POST);
+ $group->setID($this->_request->getParam('groupID'));
+ try {
+ $this->groupMapper->save($group);
+ } catch(Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $this->_helper->redirector('', 'group');
+ return;
+ }
+ }
+
+ $this->view->editForm = $editForm;
+
+ }
+
+ public function showAction() {
+ $groupID = $this->_request->getParam('groupID');
+ if($groupID) {
+ $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
+ );
+ }
+ if(is_array($groupRequestList)) {
+ $this->view->groupRequestList = $groupRequestList;
+ }
+ $this->view->roleList = $this->rolemapper->findBy('groupID', $groupID);
+ }
+ $members = $this->membershipMapper->findBy('groupID', $groupID);
+ if(isset($members)) {
+ foreach($members as $member) {
+ $person = $this->personmapper->find($member['personID']);
+ $membersList[] = array(
+ 'membershipID' => $member['membershipID'],
+ 'person' => $person
+ );
+ }
+ if(is_array($membersList)) {
+ $this->view->membersList = $membersList;
+ }
+ }
+ $groupgroups = $this->groupGroupsMapper->findBy('groupID', $groupID);
+ if(is_object($groupgroups)) {
+ $parentGroup = $this->groupMapper->find($groupgroups->getParentID());
+ $this->view->$parentGroup = $parentGroup;
+ }
+ $group = $this->groupMapper->find($groupID);
+ $this->view->group = $group;
+ $this->view->groupID = $groupID;
+ }
+ }
+
+ public function linkAction() {
+ if (!isset($_POST["link"])) {
+ $linkForm = new dev_Form_GroupLink(array('grouplist' => $this->groupList));
+ } else {
+ $linkForm = new dev_Form_GroupLink(array('grouplist' => $this->groupList), $_POST);
+
+ if ($linkForm->isValid($_POST)) {
+ $groupgroups = new Application_Model_GroupGroups();
+ $groupgroups->setParentID($_POST['superordinatedGroupID']);
+ $groupgroups->setGroupID($_POST['groupID']);
+ try {
+ $this->groupGroupsMapper->save($groupgroups);
+ } catch(Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $this->_helper->redirector('', 'group');
+ return;
+ }
+ }
+
+ $this->view->linkForm = $linkForm;
+ }
+
+ public function deleteAction() {
+ $this->_helper->viewRenderer->setNoRender();
+ $groupID = $this->_request->getParam('groupID');
+ if (isset($groupID)) {
+ $group = $this->groupMapper->find($groupID);
+ try {
+ $this->groupMapper->delete($group);
+ } catch(Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $this->_helper->redirector('', 'group');
+ return;
+ }
+ }
+
+ public function grantpersonAction() {
+ $this->_helper->viewRenderer->setNoRender();
+ if(isset($_POST['grouprequestID']) && isset($_POST['roleID'])) {
+ $groupRequest = $this->groupRequestMapper->find($_POST['grouprequestID']);
+ try {
+ $this->groupRequestMapper->delete($groupRequest);
+ } catch(Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $membership = new Application_Model_Membership();
+ $membership->setGroupID($groupRequest->getGroupID());
+ $membership->setPersonID($groupRequest->getPersonID());
+ $membership->setRoleID($_POST['roleID']);
+ try {
+ $this->membershipMapper->save($membership);
+ } catch(Zend_Exception $e) {
+ echo "Caught exception: " . get_class($e) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $this->_redirect("/dev/group/show/groupID/" . $groupRequest->getGroupID());
+ }
+ }
+
+ 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) . "<br/>";
+ echo "Message: " . $e->getMessage() . "<br/>";
+ return;
+ }
+ $this->_redirect("/dev/group/edit/groupID/" . $membership->getGroupID());
+ }
+
+ }
+ }
}