From 2c3d9f3d53afedf153a28f1f0ac2c8c4957dcf51 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 4 Mar 2011 18:33:19 +0100 Subject: Filters Übersicht, FilterEntries hinzufügen --- .zfproject.xml | 1 + 1 file changed, 1 insertion(+) (limited to '.zfproject.xml') diff --git a/.zfproject.xml b/.zfproject.xml index ad4a683..b956d27 100644 --- a/.zfproject.xml +++ b/.zfproject.xml @@ -37,6 +37,7 @@ + -- cgit v1.2.3-55-g7522 From e230208572623c0f924db26243229c1fd322cf61 Mon Sep 17 00:00:00 2001 From: Simon Date: Fri, 4 Mar 2011 20:01:42 +0100 Subject: Oberfläche der filter wurde verbessert, sodass nun filterentrys angelegt werden können, das löschen dieser filter funktioniert wegen einem fehler im Mapper noch nicht --- .zfproject.xml | 5 + application/controllers/FilterController.php | 143 +++++++++++++-------- application/forms/FilterEntriesAdd.php | 53 ++++++++ application/models/FilterEntriesMapper.php | 9 +- .../views/scripts/filter/addfilterentry.phtml | 3 + application/views/scripts/filter/index.phtml | 21 ++- 6 files changed, 174 insertions(+), 60 deletions(-) create mode 100644 application/forms/FilterEntriesAdd.php create mode 100644 application/views/scripts/filter/addfilterentry.phtml (limited to '.zfproject.xml') diff --git a/.zfproject.xml b/.zfproject.xml index b956d27..4c88021 100644 --- a/.zfproject.xml +++ b/.zfproject.xml @@ -28,6 +28,7 @@ + @@ -38,6 +39,7 @@ + @@ -152,6 +154,9 @@ + + + diff --git a/application/controllers/FilterController.php b/application/controllers/FilterController.php index 09f4081..6acaae8 100644 --- a/application/controllers/FilterController.php +++ b/application/controllers/FilterController.php @@ -8,89 +8,96 @@ class FilterController extends Zend_Controller_Action public function init() { try{ - $this->_filtermapper = new Application_Model_FilterMapper(); - }catch (Zend_Exception $e) { - echo "Error message 1: " . $e->getMessage() . "\n"; + $this->_filtermapper = new Application_Model_FilterMapper(); + }catch (Zend_Exception $e) { + echo "Error message 1: " . $e->getMessage() . "\n"; } } public function indexAction() { try{ - $this->_filtermapper = new Application_Model_FilterMapper(); - $this->view->filters = $this->_filtermapper->fetchAll(); - - $filterentries = new Application_Model_FilterEntriesMapper(); - - $this->view->filterentries = $filterentries->fetchAll(); - - }catch (Zend_Exception $e) { - echo "Error message 2: " . $e->getMessage() . "\n"; - } + $this->_filtermapper = new Application_Model_FilterMapper(); + $this->view->filters = $this->_filtermapper->fetchAll(); + + $filterentries = new Application_Model_FilterEntriesMapper(); + + $this->view->filterentries = $filterentries->fetchAll(); + + }catch (Zend_Exception $e) { + echo "Error message 2: " . $e->getMessage() . "\n"; + } } public function addfilterAction() { if (!isset($_POST["add"])){ - $addfilterform = new Application_Form_FilterAdd(); - $this->view->addfilterform = $addfilterform; - }else { - $addfilterform = new Application_Form_FilterAdd($_POST); - if ($addfilterform->isValid($_POST)) { - try{ - $newfilter = new Application_Model_Filter(); - $newfilter->setTitle($_POST['title']); - $newfilter->setCreated(time()); - $newfilter->setDescription($_POST['description']); - $newfilter->setPriority($_POST['priority']); - - // TODO: Ändere mit ACL - $newfilter->setGroupID('1'); - $newfilter->setMembershipID('1'); - $newfilter->setBootmenuID('1'); - - $newfilter2 = new Application_Model_FilterMapper(); - $newfilter2->save($newfilter); - - $this->_redirect('/filter'); - return; - }catch (Zend_Exception $e) { - echo "Error message 2: " . $e->getMessage() . "\n"; - } - } + $addfilterform = new Application_Form_FilterAdd(); + $this->view->addfilterform = $addfilterform; + }else { + $addfilterform = new Application_Form_FilterAdd($_POST); + if ($addfilterform->isValid($_POST)) { + try{ + $newfilter = new Application_Model_Filter(); + $newfilter->setTitle($_POST['title']); + $newfilter->setCreated(time()); + $newfilter->setDescription($_POST['description']); + $newfilter->setPriority($_POST['priority']); + + // TODO: Ändere mit ACL + $newfilter->setGroupID('1'); + $newfilter->setMembershipID('1'); + $newfilter->setBootmenuID('1'); + + $newfilter2 = new Application_Model_FilterMapper(); + $newfilter2->save($newfilter); + + $this->_redirect('/filter'); + return; + }catch (Zend_Exception $e) { + echo "Error message 2: " . $e->getMessage() . "\n"; + } + } } } public function removefilterAction() - { - echo 'test'; - print_r($_GET); - $filterID = $this->_request->getParam('filterID'); - // TODO: ACL implementieren ob er den filter löschen darf - if(is_numeric($filterID)){ - // TODO: lösche den aktuellen eintrag - $deletefilter = new Application_Model_Filter(); - $deletefilter->setID($filterID); - $filtermapper = new Application_Model_FilterMapper(); - $filtermapper->delete($deletefilter); - } - $this->_redirect('/filter'); + { + echo 'test'; + print_r($_GET); + $filterID = $this->_request->getParam('filterID'); + // TODO: ACL implementieren ob er den filter löschen darf + if(is_numeric($filterID)){ + // TODO: lösche den aktuellen eintrag + $deletefilter = new Application_Model_Filter(); + $deletefilter->setID($filterID); + $filtermapper = new Application_Model_FilterMapper(); + $filtermapper->delete($deletefilter); + } + $this->_redirect('/filter'); } public function editfilterAction() { - // TODO: ACL implementieren ob er editieren darf + // TODO: ACL implementieren ob er editieren darf + // TODO: korrigieren, damit man einen filter (priorität und namen ändern kann) + } + + public function addfilterentryAction() + { + // TODO: ACL implementieren ob er editieren darf if (!isset($_POST["add"])){ echo "case1"; try{ - $editfilterform = new Application_Form_FilterEdit(array('filterID' => $this->_request->getParam('filterID'))); - $this->view->editfilterform=$editfilterform; + $editfilterform = new Application_Form_FilterEntriesAdd(array('filterID' => $this->_request->getParam('filterID'))); + $this->view->editfilterform = $editfilterform; + echo "case 1.1"; }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; } } else{ - $editfilterform = new Application_Form_FilterEdit($_POST); + $editfilterform = new Application_Form_FilterEntriesAdd($_POST); echo "case2"; if ($editfilterform->isValid($_POST)) { @@ -108,6 +115,28 @@ class FilterController extends Zend_Controller_Action $this->_redirect('/filter'); } } + public function editfilterentryAction() + { + + } + public function removefilterentryAction() + { + echo 'test'; + $filterID = $this->_request->getParam('filterID'); + $filtertypeID = $this->_request->getParam('filtertypeID'); + var_dump(array($filterID,$filtertypeID)); + // TODO: ACL implementieren ob er den filter löschen darf + if(is_numeric($filterID)){ + // TODO: lösche den aktuellen eintrag + $deletefilterentry = new Application_Model_FilterEntries(); + $deletefilterentry->setFilterID($filterID); + $deletefilterentry->setFiltertypeID($filtertypeID); + + $filterentriesmapper = new Application_Model_FilterEntriesMapper(); + $filterentriesmapper->delete($deletefilterentry); + } + #$this->_redirect('/filter'); + } } @@ -118,3 +147,5 @@ class FilterController extends Zend_Controller_Action + + diff --git a/application/forms/FilterEntriesAdd.php b/application/forms/FilterEntriesAdd.php new file mode 100644 index 0000000..8ec5bd9 --- /dev/null +++ b/application/forms/FilterEntriesAdd.php @@ -0,0 +1,53 @@ +setName("Add Filterentry"); + $this->setMethod('post'); + + + try{ + $filtertypemapper = new Application_Model_FilterTypeMapper(); + $filtertype = $filtertypemapper->fetchAll(); + }catch (Zend_Exception $e) { + echo "Error message 1: " . $e->getMessage() . "\n"; + } + + $filtertypes = $this->createElement('select','filtertype'); + $filtertypes ->setLabel('Type:'); + foreach($filtertype as $f){ + $filtertypes->addMultiOption($f->getID(),$f->getFiltertypename()); + } + $this->addElement($filtertypes); + + + $this->addElement('text', 'filtervalue1', array( + 'label' => 'Value1:' + )); + + $this->addElement('text', 'filtervalue2', array( + 'label' => 'Value2:' + )); + + $this->addElement('hidden', 'filterID', array( + 'value' => $this->filterID + )); + + $this->addElement('submit', 'add', array( + 'required' => false, + 'ignore' => true, + 'label' => 'Add Filtertype', + )); + } + public function setFilterID($id) + { + $this->filterID = $id; + } + +} + diff --git a/application/models/FilterEntriesMapper.php b/application/models/FilterEntriesMapper.php index 09bc627..41f1023 100644 --- a/application/models/FilterEntriesMapper.php +++ b/application/models/FilterEntriesMapper.php @@ -50,10 +50,15 @@ class Application_Model_FilterEntriesMapper public function delete(Application_Model_FilterEntries $filterentries) { - if (null === ($id = $filterentries->getID()) ) { + $id1 = $filterentries->getFilterID(); + $id2 = $filterentries->getFiltertypeID(); + var_dump(array($id1,$id2)); + //TODO: Löschen klappt nicht + if ((null != $id1) && (null != $id2) && + $this->getDbTable()->find($filterentries->getFilterID(),$filterentries->getFiltertypeID())) { return; } else { - $this->getDbTable()->delete(array('filterentriesID = ?' => $id)); + $this->getDbTable()->delete(array('filterID = ?' => $id1, 'filtertypeID = ?' => $id2)); } } diff --git a/application/views/scripts/filter/addfilterentry.phtml b/application/views/scripts/filter/addfilterentry.phtml new file mode 100644 index 0000000..8bf501a --- /dev/null +++ b/application/views/scripts/filter/addfilterentry.phtml @@ -0,0 +1,3 @@ +editfilterform->setAction($this->url()); +echo $this->editfilterform; diff --git a/application/views/scripts/filter/index.phtml b/application/views/scripts/filter/index.phtml index 4e5f8af..b3c3013 100644 --- a/application/views/scripts/filter/index.phtml +++ b/application/views/scripts/filter/index.phtml @@ -42,9 +42,17 @@ tr.filter{background-color:#DDD;} ), 'default', true) ?>">delete filter + add filterentry - + filterentries as $filterentry): ?> - + + -- cgit v1.2.3-55-g7522
getFiltertypeID();?> getFiltervalue();?>getFiltervalue();?>getFiltervalue();?>remove filterentry