diff options
author | Simon | 2011-03-19 20:50:50 +0100 |
---|---|---|
committer | Simon | 2011-03-19 20:50:50 +0100 |
commit | 8b7d22a01d141e437312c81b208942f749bc3e62 (patch) | |
tree | 30759cc7d0052e38749a2fb6c6553dfbea05234f | |
parent | Filterentry Formular geändert, selectboxen für Client, Membership etc fehle... (diff) | |
download | pbs2-8b7d22a01d141e437312c81b208942f749bc3e62.tar.gz pbs2-8b7d22a01d141e437312c81b208942f749bc3e62.tar.xz pbs2-8b7d22a01d141e437312c81b208942f749bc3e62.zip |
Selectboxen in Filterentry, Gruppen-Selectbox fehlt noch
-rw-r--r-- | application/modules/user/controllers/FilterController.php | 61 | ||||
-rw-r--r-- | application/modules/user/forms/FilterEntry.php | 80 |
2 files changed, 100 insertions, 41 deletions
diff --git a/application/modules/user/controllers/FilterController.php b/application/modules/user/controllers/FilterController.php index a94d5b3..88c7668 100644 --- a/application/modules/user/controllers/FilterController.php +++ b/application/modules/user/controllers/FilterController.php @@ -174,6 +174,30 @@ class User_FilterController extends Zend_Controller_Action } } } + + private function prepareFormData(){ + $poolMapper = new Application_Model_PoolMapper(); + $pools = $poolMapper->findBY('groupID',$this->membership->getGroupID()); + + $bootisoMapper = new Application_Model_BootIsoMapper(); + $bootisos = $bootisoMapper->findBY('groupID',$this->membership->getGroupID()); + + $membershipMapper = new Application_Model_MembershipMapper(); + $memberships = $membershipMapper->findBY('groupID',$this->membership->getGroupID()); + + // TODO: get all child groups + $grouppMapper = new Application_Model_GroupMapper(); + $groups = $grouppMapper->findBY('groupID',$this->membership->getGroupID()); + + $clientMapper = new Application_Model_ClientMapper(); + $clients = $clientMapper->findBY('groupID',$this->membership->getGroupID()); + + return array ( 'clients' => $clients, + 'memberships' => $memberships, + 'bootisos' => $bootisos, + 'pools' => $pools); + + } public function addfilterentryAction() { @@ -183,14 +207,16 @@ class User_FilterController extends Zend_Controller_Action $filter = new Application_Model_Filter(); $filterMapper->find($filterID,$filter); + $selectData = $this->prepareFormData(); + if($filter->getGroupID() == $this->membership->getGroupID()){ if (!isset($_POST["add"])){ try{ - $addform = new user_Form_FilterEntry( - array( 'buttontext' => 'Add Filterentry', - 'filterID' => $filterID, - 'data' => $_POST - )); + $addform = new user_Form_FilterEntry(array( 'buttontext' => 'Add Filterentry', + 'filterID' => $filterID, + 'selectData' => $selectData, + 'data' => $_POST + )); $addform->populate($_POST); $this->view->addform = $addform; }catch (Zend_Exception $e) { @@ -198,7 +224,10 @@ class User_FilterController extends Zend_Controller_Action $this->_redirect('/user/filter/index/addresult/error'); } } else{ - $addform = new user_Form_FilterEntry(array('buttontext' => 'Add Filterentry', 'data'=>$_POST)); + $addform = new user_Form_FilterEntry(array('buttontext' => 'Add Filterentry', + 'selectData' => $selectData, + 'data'=>$_POST + )); if ($addform->isValid($_POST)) { print_a('valid'); $newfilterenty = new Application_Model_FilterEntries(); @@ -215,12 +244,14 @@ class User_FilterController extends Zend_Controller_Action } else{ $newfilterenty->setFiltervalue($_POST['filtervalue']); - $newfilterenty->setFiltervalue2($_POST['filtervalue2']); + if(isset($_POST['filtervalue2'])){ + $newfilterenty->setFiltervalue2($_POST['filtervalue2']); + } } $newfilter2 = new Application_Model_FilterEntriesMapper(); $newfilter2->save($newfilterenty); - #$this->_redirect('/user/filter/index/addresult/ok'); + $this->_redirect('/user/filter/index/addresult/ok'); } $this->view->addform = $addform; } @@ -233,6 +264,7 @@ class User_FilterController extends Zend_Controller_Action public function editfilterentryAction() { //TODO: ACL: is he allowed to edit filterentrys ? + $selectData = $this->prepareFormData(); if (!isset($_POST["add"])){ try{ $filterentriesID = $this->_request->getParam('filterentriesID'); @@ -249,9 +281,10 @@ class User_FilterController extends Zend_Controller_Action $filterentry->setFiltertypeID($_POST['filtertypeID']) ; } $data = $filterentry->toArray(); - $editfilterform = new user_Form_FilterEntry( - array('buttontext' => 'Edit Filterentry', - 'data' => $data)); + $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry', + 'selectData' => $selectData, + 'data' => $data + )); $editfilterform->populate($filterentry->toArray()); $this->view->editfilterform = $editfilterform; @@ -266,7 +299,10 @@ class User_FilterController extends Zend_Controller_Action } else{ try{ $filterentriesID = $this->_request->getParam('filterentriesID'); - $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry','data' => $_POST),$_POST); + $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry', + 'selectData' => $selectData, + 'data' => $_POST + )); if ($editfilterform->isValid($_POST)) { $filterentry = new Application_Model_FilterEntries(); $filterentriesmapper = new Application_Model_FilterEntriesMapper(); @@ -297,7 +333,6 @@ class User_FilterController extends Zend_Controller_Action // check if it's the last groupID filterentry $allFilters = $filterentriesmapper->findBy('filterID',$filterentry->getFilterID()); - #print_a($allFilters); $lastfilter = true; foreach($allFilters as $thisFilterentry){ if($thisFilterentry['filtertypeID'] == 6 && $thisFilterentry['filterentriesID'] != $filterentriesID){ diff --git a/application/modules/user/forms/FilterEntry.php b/application/modules/user/forms/FilterEntry.php index 24f1861..55941c0 100644 --- a/application/modules/user/forms/FilterEntry.php +++ b/application/modules/user/forms/FilterEntry.php @@ -11,7 +11,7 @@ class user_Form_FilterEntry extends Zend_Form $this->setMethod('post'); $this->setAttrib('id','filterentryform'); #print_a($this->data); - + print_a($this->selectData); try{ $filtertypemapper = new Application_Model_FilterTypeMapper(); $filtertype = $filtertypemapper->fetchAll(); @@ -128,43 +128,59 @@ class user_Form_FilterEntry extends Zend_Form break; case "3": $desc = "Select your Pool"; - $label1 = 'PoolID:'; + $label1 = 'PoolID:'; - $filtervalue1 = $this->createElement('text', 'filtervalue', array( - 'label' => $label1, - 'required' => true, - 'id' => 'val1' - )); + $filtervalue1 = $this->createElement('select','filtervalue'); + $filtervalue1 ->setLabel($label1); + if(count($this->selectData['pools'])>0){ + foreach($this->selectData['pools'] as $id => $g){ + $filtervalue1->addMultiOption($g['poolID'], $g['title']); + } + } + $filtervalue1->setRegisterInArrayValidator(false); break; case "4": $desc = "Select your BootIso"; $label1 = 'BootIsoID:'; - $filtervalue1 = $this->createElement('text', 'filtervalue', array( - 'label' => $label1, - 'required' => true, - 'id' => 'val1' - )); + $filtervalue1 = $this->createElement('select','filtervalue'); + $filtervalue1 ->setLabel($label1); + if(count($this->selectData['bootisos'])>0){ + foreach($this->selectData['bootisos'] as $id => $g){ + $filtervalue1->addMultiOption($g['bootisoID'], $g['title']); + } + } + $filtervalue1->setRegisterInArrayValidator(false); break; case "5": $desc = "Select a Membership"; $label1 = 'Membership:'; - $filtervalue1 = $this->createElement('text', 'filtervalue', array( - 'label' => $label1, - 'required' => true, - 'id' => 'val1' - )); + $filtervalue1 = $this->createElement('select','filtervalue'); + $filtervalue1 ->setLabel($label1); + if(count($this->selectData['memberships'])>0){ + $personMapper = new Application_Model_PersonMapper(); + foreach($this->selectData['memberships'] as $id => $g){ + // Display full name of Person + $person = new Application_Model_Person(); + $personMapper->find($g['personID'],$person); + $filtervalue1->addMultiOption($g['membershipID'], $person->getName().", ".$person->getFirstname()); + } + } + $filtervalue1->setRegisterInArrayValidator(false); break; case "6": $desc = "Select a Group"; $label1 = 'Group:'; - - $filtervalue1 = $this->createElement('text', 'filtervalue', array( - 'label' => $label1, - 'required' => true, - 'id' => 'val1' - )); + // TODO: insert the child Groups + $filtervalue1 = $this->createElement('select','filtervalue'); + $filtervalue1 ->setLabel($label1); + if(count($this->selectData['groups'])>0){ + foreach($this->selectData['groups'] as $id => $g){ + $filtervalue1->addMultiOption($g['groupID'], $g['title']); + } + } + $filtervalue1->setRegisterInArrayValidator(false); break; case "7": $desc = "Specify a time-range"; @@ -185,11 +201,15 @@ class user_Form_FilterEntry extends Zend_Form case "8": $desc = "Select a Client"; $label1 = 'Client:'; - $filtervalue1 = $this->createElement('text', 'filtervalue', array( - 'label' => $label1, - 'required' => true, - 'id' => 'val1' - )); + + $filtervalue1 = $this->createElement('select','filtervalue'); + $filtervalue1 ->setLabel($label1); + if(count($this->selectData['clients'])>0){ + foreach($this->selectData['clients'] as $id => $g){ + $filtervalue1->addMultiOption($g['clientID'], $g['macadress']." - ".$g['hardwarehash']); + } + } + $filtervalue1->setRegisterInArrayValidator(false); break; case "9": $desc = "Define a Hardwarehash"; @@ -275,6 +295,10 @@ class user_Form_FilterEntry extends Zend_Form function setFilterID($v){ $this->filterID = $v; } + private $selectData; + function setSelectData($v){ + $this->selectData = $v; + } } ?> |