summaryrefslogtreecommitdiffstats
path: root/application/modules/user/controllers/PoolController.php
diff options
context:
space:
mode:
authorBjörn Geiger2011-03-24 15:05:30 +0100
committerBjörn Geiger2011-03-24 15:05:30 +0100
commitc6ca00f9b31376b3fcb9917f6be0254eaa7a981f (patch)
tree28ade87e8817faddbae309735ec004d85854dab9 /application/modules/user/controllers/PoolController.php
parentPersonController im user Module (diff)
downloadpbs2-c6ca00f9b31376b3fcb9917f6be0254eaa7a981f.tar.gz
pbs2-c6ca00f9b31376b3fcb9917f6be0254eaa7a981f.tar.xz
pbs2-c6ca00f9b31376b3fcb9917f6be0254eaa7a981f.zip
MembershipSelect nach Login
Diffstat (limited to 'application/modules/user/controllers/PoolController.php')
-rw-r--r--application/modules/user/controllers/PoolController.php245
1 files changed, 123 insertions, 122 deletions
diff --git a/application/modules/user/controllers/PoolController.php b/application/modules/user/controllers/PoolController.php
index f2829ff..6ec8aa7 100644
--- a/application/modules/user/controllers/PoolController.php
+++ b/application/modules/user/controllers/PoolController.php
@@ -3,23 +3,24 @@
class User_PoolController extends Zend_Controller_Action
{
private $membership;
- public function init()
- {
- if($_SESSION['membershipID'] ==''){
+ public function init()
+ {
+ $userIDsNamespace = Zend_Session::namespaceGet('userIDs');
+ if($userIDsNamespace['membershipID'] ==''){
$pbsNotifier = new Pbs_Notifier();
echo $pbsNotifier->notify('No membershipID set','forbidden');
}
-
+
$membershipMapper = new Application_Model_MembershipMapper();
$this->membership = new Application_Model_Membership();
- $membershipMapper->find($_SESSION['membershipID'],$this->membership);
- }
+ $membershipMapper->find($userIDsNamespace['membershipID'],$this->membership);
+ }
- public function indexAction()
- {
- // TODO: ACL: is he allowed to see the pools of a group
-
- $result = $this->_request->getParam('deleteresult');
+ public function indexAction()
+ {
+ // TODO: ACL: is he allowed to see the pools of a group
+
+ $result = $this->_request->getParam('deleteresult');
if($result != ""){
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('delete',$result);
@@ -44,90 +45,90 @@ class User_PoolController extends Zend_Controller_Action
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('unlink',$result);
}
-
+
// get all pools from this group
- $poolMapper = new Application_Model_PoolMapper();
- $pools = $poolMapper->findBy('groupID',$this->membership->getGroupID());
- foreach($pools as $pool){
+ $poolMapper = new Application_Model_PoolMapper();
+ $pools = $poolMapper->findBy('groupID',$this->membership->getGroupID());
+ foreach($pools as $pool){
$ff = new Application_Model_Pool();
$ff->setOptions($pool);
$ff->setID($pool['poolID']);
$yourpools[] = $ff;
}
- $this->view->pools = $yourpools;
-
+ $this->view->pools = $yourpools;
+
// Get all Clients from this group
$clientmapper = new Application_Model_ClientMapper();
$clientsArray = $clientmapper->findBy('groupID',$this->membership->getGroupID());
-
+
// Get all assigned Clients
$assignedclientmapper = new Application_Model_PoolEntriesMapper();
$assignedclients = $assignedclientmapper->fetchAll();
foreach($assignedclients as $c){
$assignedclientsArray[] = $c->toArray();
}
-
+
// extract the un-assigned clients from the clientlist of the group
$freeclients = $this->arrayDiff($clientsArray,$assignedclientsArray);
-
-
- $this->view->freeclients = $freeclients;
- }
- public function createpoolAction()
- {
- // TODO: ACL: is he allowed to create a pool?
- if (!isset($_POST["add"])){
- $addfilterform = new user_Form_Pool(array('buttontext' => 'Create Pool'));
- $this->view->addpool = $addfilterform;
+
+ $this->view->freeclients = $freeclients;
+ }
+
+ public function createpoolAction()
+ {
+ // TODO: ACL: is he allowed to create a pool?
+ if (!isset($_POST["add"])){
+ $addfilterform = new user_Form_Pool(array('buttontext' => 'Create Pool'));
+ $this->view->addpool = $addfilterform;
}else {
$addpoolform = new user_Form_Pool(array('buttontext' => 'Create Pool'),$_POST);
- if ($addpoolform->isValid($_POST)) {
+ if ($addpoolform->isValid($_POST)) {
try{
$pool = new Application_Model_Pool($_POST);
$pool->setGroupID($this->membership->getGroupID());
$poolmapper = new Application_Model_PoolMapper();
$poolmapper->save($pool);
$this->_redirect('/dev/pool/index/addresult/ok');
- }catch (Zend_Exception $e) {
- echo "Error message 2: " . $e->getMessage() . "\n";
- $this->_redirect('/dev/pool/index/addresult/error');
- }
+ }catch (Zend_Exception $e) {
+ echo "Error message 2: " . $e->getMessage() . "\n";
+ $this->_redirect('/dev/pool/index/addresult/error');
+ }
}
- $this->view->addpool = $addpoolform;
+ $this->view->addpool = $addpoolform;
}
- }
+ }
- public function deletepoolAction()
- {
- $poolID = $this->_request->getParam('poolID');
+ public function deletepoolAction()
+ {
+ $poolID = $this->_request->getParam('poolID');
// TODO: ACL: is he allowed to delete a pool?
#if( he is allowed){
- if(is_numeric($poolID)){
- $poolmapper = new Application_Model_PoolMapper();
- $pool = new Application_Model_Pool();
- $poolmapper->find($poolID,$pool);
- if($this->membership->getGroupID() == $pool->getGroupID()){
- $deletepool = new Application_Model_Pool();
- $deletepool->setID($poolID);
- $poolmapper->delete($deletepool);
- $this->_redirect('/user/pool/index/deleteresult/ok');
- }
- else{
- $this->_redirect('/user/pool/index/deleteresult/forbidden');
- }
- }
- $this->_redirect('/user/pool/index/deleteresult/error');
+ if(is_numeric($poolID)){
+ $poolmapper = new Application_Model_PoolMapper();
+ $pool = new Application_Model_Pool();
+ $poolmapper->find($poolID,$pool);
+ if($this->membership->getGroupID() == $pool->getGroupID()){
+ $deletepool = new Application_Model_Pool();
+ $deletepool->setID($poolID);
+ $poolmapper->delete($deletepool);
+ $this->_redirect('/user/pool/index/deleteresult/ok');
+ }
+ else{
+ $this->_redirect('/user/pool/index/deleteresult/forbidden');
+ }
+ }
+ $this->_redirect('/user/pool/index/deleteresult/error');
#}else{
# $this->_redirect('/user/');
#}
- }
+ }
- public function editpoolAction()
- {
- // TODO: ACL: is he allowed to edit a pool?
- if (!isset($_POST["add"])){
- $poolID = $this->_request->getParam('poolID');
+ public function editpoolAction()
+ {
+ // TODO: ACL: is he allowed to edit a pool?
+ if (!isset($_POST["add"])){
+ $poolID = $this->_request->getParam('poolID');
$pool = new Application_Model_Pool();
$poolmapper = new Application_Model_PoolMapper();
$poolmapper->find($poolID,$pool);
@@ -139,55 +140,55 @@ class User_PoolController extends Zend_Controller_Action
}
else{
$this->_redirect('/user/pool/index/modifyresult/forbidden');
- }
+ }
}else {
$editpoolform = new user_Form_Pool(array('buttontext' => 'Edit Pool'),$_POST);
- if ($editpoolform->isValid($_POST)) {
+ if ($editpoolform->isValid($_POST)) {
try{
$poolmapper = new Application_Model_PoolMapper();
$poolID = $this->_request->getParam('poolID');
$pooldb = new Application_Model_Pool();
$poolmapper->find($poolID,$pooldb);
print_a($pooldb->getGroupID(), $this->membership->getGroupID());
- if($pooldb->getGroupID() == $this->membership->getGroupID()){
+ if($pooldb->getGroupID() == $this->membership->getGroupID()){
$pool = new Application_Model_Pool($_POST);
- $pool->setID($poolID);
- $pool->setGroupID($this->membership->getGroupID());
+ $pool->setID($poolID);
+ $pool->setGroupID($this->membership->getGroupID());
$poolmapper->save($pool);
- $this->_redirect('/user/pool/index/modifyresult/ok');
- }
+ $this->_redirect('/user/pool/index/modifyresult/ok');
+ }
else{
$this->_redirect('/user/pool/index/modifyresult/forbidden');
- }
- }catch (Zend_Exception $e) {
- echo "Error message 2: " . $e->getMessage() . "\n";
- $this->_redirect('/user/pool/index/modifyresult/error');
- }
+ }
+ }catch (Zend_Exception $e) {
+ echo "Error message 2: " . $e->getMessage() . "\n";
+ $this->_redirect('/user/pool/index/modifyresult/error');
+ }
}
$this->view->editpool = $editpoolform;
}
- }
+ }
- public function linkclientAction()
- {
- $clientID = $this->_request->getParam('clientID');
+ public function linkclientAction()
+ {
+ $clientID = $this->_request->getParam('clientID');
$poolID = $this->_request->getParam('poolID');
-
+
// TODO: ACL: Is he allowed to link clients to pools?
if(!isset($_POST['clientID']) && ($clientID == '')){
$clientmapper = new Application_Model_ClientMapper();
- $clients = $clientmapper->findBy('groupID',$this->membership->getGroupID());
+ $clients = $clientmapper->findBy('groupID',$this->membership->getGroupID());
$assignedclientmapper = new Application_Model_PoolEntriesMapper();
$assignedclients = $assignedclientmapper->fetchAll();
foreach($assignedclients as $c){
$assignedclientsArray[] = $c->toArray();
- }
+ }
$freeclients = $this->arrayDiff($clients,$assignedclientsArray);
-
- $poolclient = new user_Form_PoolClient(array('buttontext' => 'Link Client','clients'=> $freeclients));
+
+ $poolclient = new user_Form_PoolClient(array('buttontext' => 'Link Client','clients'=> $freeclients));
$this->view->poolclient = $poolclient;
- }else {
- $poolclient = new dev_Form_PoolClient(array('buttontext' => 'Link Client'),$_POST);
+ }else {
+ $poolclient = new dev_Form_PoolClient(array('buttontext' => 'Link Client'),$_POST);
try{
$poolID = $this->_request->getParam('poolID');
$poolmapper = new Application_Model_PoolMapper();
@@ -195,49 +196,49 @@ class User_PoolController extends Zend_Controller_Action
$poolmapper->find($poolID,$pooldb);
$clientmapper = new Application_Model_ClientMapper();
$clientdb = new Application_Model_Client();
- $clientmapper->find($clientID,$clientdb);
-
+ $clientmapper->find($clientID,$clientdb);
+
if($pooldb->getGroupID() == $this->membership->getGroupID() && $clientdb->getGroupID() == $this->membership->getGroupID()){
- $poolentriesmapper = new Application_Model_PoolEntriesMapper();
+ $poolentriesmapper = new Application_Model_PoolEntriesMapper();
$poolentry = new Application_Model_PoolEntries($_POST);
$poolentry->setPoolID($poolID);
if($poolentry->getClientID() == ''){
$poolentry->setClientID($clientID);
- }
+ }
$poolentriesmapper->save($poolentry);
- $this->_redirect('/user/pool/index/linkresult/ok');
+ $this->_redirect('/user/pool/index/linkresult/ok');
}
else{
- $this->_redirect('/user/pool/index/linkresult/forbidden');
- }
- }catch (Zend_Exception $e) {
- echo "Error message 2: " . $e->getMessage() . "\n";
- $this->_redirect('/user/pool/index/linkresult/error');
- }
- $this->view->poolclient = $poolclient;
+ $this->_redirect('/user/pool/index/linkresult/forbidden');
+ }
+ }catch (Zend_Exception $e) {
+ echo "Error message 2: " . $e->getMessage() . "\n";
+ $this->_redirect('/user/pool/index/linkresult/error');
+ }
+ $this->view->poolclient = $poolclient;
}
- }
+ }
- public function unlinkclientAction()
- {
- $poolentriesID = $this->_request->getParam('poolentriesID');
-
- // TODO: ACL: Is he allowed to unlink clients from pools?
- if(is_numeric($poolentriesID)){
- $poolentriesMapper = new Application_Model_PoolEntriesMapper();
- $poolentry = new Application_Model_PoolEntries();
- $poolentriesMapper->find($poolentriesID,$poolentry);
- $clientMapper = new Application_Model_ClientMapper();
- $client = new Application_Model_Client();
-
- $poolMapper = new Application_Model_PoolMapper();
- $pool = new Application_Model_Pool();
-
- $clientMapper->find($poolentry->getClientID(),$client);
- $poolMapper->find($poolentry->getPoolID(),$pool);
-
-
- if($pool->getGroupID() == $this->membership->getGroupID() && $client->getGroupID() == $this->membership->getGroupID()){
+ public function unlinkclientAction()
+ {
+ $poolentriesID = $this->_request->getParam('poolentriesID');
+
+ // TODO: ACL: Is he allowed to unlink clients from pools?
+ if(is_numeric($poolentriesID)){
+ $poolentriesMapper = new Application_Model_PoolEntriesMapper();
+ $poolentry = new Application_Model_PoolEntries();
+ $poolentriesMapper->find($poolentriesID,$poolentry);
+ $clientMapper = new Application_Model_ClientMapper();
+ $client = new Application_Model_Client();
+
+ $poolMapper = new Application_Model_PoolMapper();
+ $pool = new Application_Model_Pool();
+
+ $clientMapper->find($poolentry->getClientID(),$client);
+ $poolMapper->find($poolentry->getPoolID(),$pool);
+
+
+ if($pool->getGroupID() == $this->membership->getGroupID() && $client->getGroupID() == $this->membership->getGroupID()){
$deletepoolentries = new Application_Model_PoolEntries();
$deletepoolentries->setID($poolentriesID);
$deletepoolentriesmapper = new Application_Model_PoolEntriesMapper();
@@ -251,12 +252,12 @@ class User_PoolController extends Zend_Controller_Action
else{
$this->_redirect('/user/pool/index/unlinkresult/error');
}
- }
-
- // creates an array of two arrays
- // first parameter is the list of all clients
- // second parameter is the list of clients which are already in a group
- // return value is a list of all clients, which are in no group
+ }
+
+ // creates an array of two arrays
+ // first parameter is the list of all clients
+ // second parameter is the list of clients which are already in a group
+ // return value is a list of all clients, which are in no group
private function arrayDiff($a, $b){
foreach($a as $k1 => $i1){
foreach($b as $k2 => $i2){