summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon2011-03-19 20:50:50 +0100
committerSimon2011-03-19 20:50:50 +0100
commit8b7d22a01d141e437312c81b208942f749bc3e62 (patch)
tree30759cc7d0052e38749a2fb6c6553dfbea05234f
parentFilterentry Formular geändert, selectboxen für Client, Membership etc fehle... (diff)
downloadpbs2-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.php61
-rw-r--r--application/modules/user/forms/FilterEntry.php80
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;
+ }
}
?>