diff options
| author | michael pereira | 2011-03-05 13:27:20 +0100 |
|---|---|---|
| committer | michael pereira | 2011-03-05 13:27:20 +0100 |
| commit | 3e86f2118ae8fd85e433913410c82915232cd073 (patch) | |
| tree | 3fbb90e62a1974cc9daf94d58a79f06ae449e0fd /application | |
| parent | bootos v1 (diff) | |
| parent | Oberfläche der filter wurde verbessert, sodass nun filterentrys angelegt wer... (diff) | |
| download | pbs2-3e86f2118ae8fd85e433913410c82915232cd073.tar.gz pbs2-3e86f2118ae8fd85e433913410c82915232cd073.tar.xz pbs2-3e86f2118ae8fd85e433913410c82915232cd073.zip | |
.zfproject fix
Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2
Conflicts:
.zfproject.xml
Diffstat (limited to 'application')
| -rw-r--r-- | application/configs/application.ini | 2 | ||||
| -rw-r--r-- | application/controllers/FilterController.php | 156 | ||||
| -rw-r--r-- | application/forms/FilterEdit.php | 54 | ||||
| -rw-r--r-- | application/forms/FilterEntriesAdd.php | 53 | ||||
| -rw-r--r-- | application/models/DbTable/FilterEntries.php | 2 | ||||
| -rw-r--r-- | application/models/FilterEntriesMapper.php | 45 | ||||
| -rw-r--r-- | application/models/FilterType.php | 2 | ||||
| -rw-r--r-- | application/models/FilterTypeMapper.php | 6 | ||||
| -rw-r--r-- | application/views/scripts/filter/addfilterentry.phtml | 3 | ||||
| -rw-r--r-- | application/views/scripts/filter/editfilter.phtml | 16 | ||||
| -rw-r--r-- | application/views/scripts/filter/index.phtml | 59 |
11 files changed, 331 insertions, 67 deletions
diff --git a/application/configs/application.ini b/application/configs/application.ini index 6970da3..9bfaec2 100644 --- a/application/configs/application.ini +++ b/application/configs/application.ini @@ -10,7 +10,7 @@ resources.frontController.params.displayExceptions = 0 resources.db.adapter = PDO_MYSQL resources.db.params.host = localhost resources.db.params.username = root -resources.db.params.password = lsfks +resources.db.params.password = 123456 resources.db.params.dbname = pbs resources.db.isDefaultTableAdapter = true diff --git a/application/controllers/FilterController.php b/application/controllers/FilterController.php index d066c53..6acaae8 100644 --- a/application/controllers/FilterController.php +++ b/application/controllers/FilterController.php @@ -8,70 +8,134 @@ 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(); - }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() { - $db = Zend_Db_Table::getDefaultAdapter(); 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() - { - $filterID = $_GET['filterID']; - // TODO: ACL implementieren ob er den filter löschen darf - if(is_numeric($filterID)){ - // TODO: lösche den aktuellen eintrag - } - // action body + { + 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() { - // action body + // 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_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_FilterEntriesAdd($_POST); + echo "case2"; + + if ($editfilterform->isValid($_POST)) { + + $newfilterenty = new Application_Model_FilterEntries(); + $newfilterenty->setFilterID($_POST['filterID']); + $newfilterenty->setFiltertypeID($_POST['filtertype']); + $newfilterenty->setFiltervalue($_POST['filtervalue1']); + $newfilterenty->setFiltervalue2($_POST['filtervalue2']); + + $newfilter2 = new Application_Model_FilterEntriesMapper(); + + $newfilter2->save($newfilterenty); + } + $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'); } @@ -83,3 +147,5 @@ class FilterController extends Zend_Controller_Action + + diff --git a/application/forms/FilterEdit.php b/application/forms/FilterEdit.php new file mode 100644 index 0000000..5d5a242 --- /dev/null +++ b/application/forms/FilterEdit.php @@ -0,0 +1,54 @@ +<?php + +class Application_Form_FilterEdit extends Zend_Form +{ + private $filterID = null; + + public function init() + { + $this->setName("Add Filter"); + $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/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 @@ +<?php + +class Application_Form_FilterEntriesAdd extends Zend_Form +{ + + private $filterID = null; + + public function init() + { + $this->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/DbTable/FilterEntries.php b/application/models/DbTable/FilterEntries.php index f0f976d..309858d 100644 --- a/application/models/DbTable/FilterEntries.php +++ b/application/models/DbTable/FilterEntries.php @@ -4,7 +4,7 @@ class Application_Model_DbTable_FilterEntries extends Zend_Db_Table_Abstract { protected $_name = 'pbs_filterentries'; - + protected $_primary = array('filterID','filtertypeID'); } diff --git a/application/models/FilterEntriesMapper.php b/application/models/FilterEntriesMapper.php index 58ea563..41f1023 100644 --- a/application/models/FilterEntriesMapper.php +++ b/application/models/FilterEntriesMapper.php @@ -32,36 +32,59 @@ class Application_Model_FilterEntriesMapper public function save(Application_Model_FilterEntries $filterentries) { - $data = array('filterID'=> $filterentries->getFilterID() ,'filtertypeID'=> $filterentries->getFiltertypeID() ,'filtervalue'=> $filterentries->getFiltervalue() ,'filtervalue2'=> $filterentries->getFiltervalue2() ); - - if (null === ($id = $filterentries->getID()) ) { - unset($data['filterentriesID']); + $data = array('filterID'=> $filterentries->getFilterID() , + 'filtertypeID'=> $filterentries->getFiltertypeID() , + 'filtervalue'=> $filterentries->getFiltervalue() , + 'filtervalue2'=> $filterentries->getFiltervalue2() ); + + if (null != ($id1 = $filterentries->getFilterID()) && + null != ($id2 = $filterentries->getFiltertypeID()) && + $this->getDbTable()->find($filterentries->getFilterID(),$filterentries->getFiltertypeID())) { $this->getDbTable()->insert($data); + echo 'fall1'; } else { - $this->getDbTable()->update($data, array('filterentriesID = ?' => $id)); + $this->getDbTable()->update($data, array('filterID = ?' => $id1, 'filtertypeID = ?' => $id2)); + echo 'fall2'; } } 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)); } } - public function find($id, Application_Model_FilterEntries $filterentries) + public function find($filterID,$filtertypeID, Application_Model_FilterEntries $filterentries) { - $result = $this->getDbTable()->find($id); + $result = $this->getDbTable()->find($filterID,$filtertypeID); + echo 'dump1'; if (0 == count($result)) { return; } - + echo 'dump2'; $row = $result->current(); - $filterentries->setFilterID($row->filterID)->setFiltertypeID($row->filtertypeID)->setFiltervalue($row->filtervalue)->setFiltervalue2($row->filtervalue2); + $filterentries->setFilterID($row->filterID) + ->setFiltertypeID($row->filtertypeID) + ->setFiltervalue($row->filtervalue) + ->setFiltervalue2($row->filtervalue2); + return $filterentries; } + public function findBy($field,$value) + { + $db = $this->getAdapter(); + $where = $db->quoteInto($db->quoteIdentifier($field).' = ?', value); + return $this->fetchAll($where); + + } public function fetchAll() { diff --git a/application/models/FilterType.php b/application/models/FilterType.php index 9601368..a66950a 100644 --- a/application/models/FilterType.php +++ b/application/models/FilterType.php @@ -50,6 +50,7 @@ class Application_Model_FilterType public function setID($_filtertypeID) { $this->_filtertypeID = $_filtertypeID; + return $this; } public function getFiltertypename() { @@ -58,6 +59,7 @@ class Application_Model_FilterType public function setFiltertypename($_filtertypename) { $this->_filtertypename = $_filtertypename; + return $this; } } diff --git a/application/models/FilterTypeMapper.php b/application/models/FilterTypeMapper.php index f10ee21..8ed2722 100644 --- a/application/models/FilterTypeMapper.php +++ b/application/models/FilterTypeMapper.php @@ -60,7 +60,8 @@ class Application_Model_FilterTypeMapper $row = $result->current(); - $filtertype->setID($row->filtertypeID)->setFiltertypename($row->filtertypename); + $filtertype->setID($row->filtertypeID) + ->setFiltertypename($row->filtertypename); } public function fetchAll() @@ -70,7 +71,8 @@ class Application_Model_FilterTypeMapper foreach ($resultSet as $row) { $entry = new Application_Model_FilterType(); - $entry->setID($row->filtertypeID)->setFiltertypename($row->filtertypename); + $entry->setID($row->filtertypeID) + ->setFiltertypename($row->filtertypename); $entries[] = $entry; } 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 @@ +<?php +$this->editfilterform->setAction($this->url()); +echo $this->editfilterform; diff --git a/application/views/scripts/filter/editfilter.phtml b/application/views/scripts/filter/editfilter.phtml index 452a096..9b54ac7 100644 --- a/application/views/scripts/filter/editfilter.phtml +++ b/application/views/scripts/filter/editfilter.phtml @@ -1 +1,15 @@ -<br /><br /><center>View script for controller <b>Filter</b> and script/action name <b>editfilter</b></center>
\ No newline at end of file +<h1>Edit Filter</h1> +<?php +echo "<h2>".$this->filterID."</h2>"; +echo 'test'; +?> +<?php +echo + +$this->editfilterform->setAction($this->url()); + + +$this->editfilterform; + + +?> diff --git a/application/views/scripts/filter/index.phtml b/application/views/scripts/filter/index.phtml index 33043dc..b3c3013 100644 --- a/application/views/scripts/filter/index.phtml +++ b/application/views/scripts/filter/index.phtml @@ -1,4 +1,9 @@ <h1>Filters</h1> +<style> +table{font-family:verdana;font-size:12px;} +td{border:1px solid #CCC;} +tr.filter{background-color:#DDD;} +</style> <p><a href="<?php echo $this->url( array( 'controller' => 'filter', @@ -12,13 +17,15 @@ <!-- A table of filters. --> <table border=1> <tr> - <th>filterid</th> - <th>filterID</th> + <th>filterID</th> + <th>Title</th> + <th>Priority</th> </tr> <?php foreach ($this->filters as $filter): ?> - <tr> + <tr class='filter'> <td><?php echo $this->escape($filter->getID()) ?></td> <td><?php echo $this->escape($filter->title) ?></td> + <td><?php echo $this->escape($filter->priority) ?></td> <td><a href="<?php echo $this->url( array( 'controller' => 'filter', @@ -27,11 +34,51 @@ ), 'default', true) ?>">edit filter</a></td> + <td><a href="<?php echo $this->url( + array( + 'controller' => 'filter', + 'action' => 'removefilter', + 'filterID' => $filter->getID() + ), + 'default', + true) ?>">delete filter</a></td> + <td><a href="<?php echo $this->url( + array( + 'controller' => 'filter', + 'action' => 'addfilterentry', + 'filterID' => $filter->getID() + ), + 'default', + true) ?>">add filterentry</a></td> + </tr> + <tr><td></td> + <td colspan=5> + <table style='width:100%;'> + <?php foreach ($this->filterentries as $filterentry): ?> + <?php + // TODO: Quick and dirty + // hier wird die gesamte liste durchgegangen... unperformant + if($filterentry->filterID == $filter->getID()): ?> + <tr> + <td><?php echo $filterentry->getFiltertypeID();?></td> + <td><?php echo $filterentry->getFiltervalue();?></td> + <td><?php echo $filterentry->getFiltervalue();?></td> + <td><a href="<?php echo $this->url( + array( + 'controller' => 'filter', + 'action' => 'removefilterentry', + 'filterID' => $filter->getID(), + 'filtertypeID' => $filterentry->getFiltertypeID() + ), + 'default', + true) ?>">remove filterentry</a> + </tr> + <?php endif; ?> + <?php endforeach ?> + </table> + </td> </tr> <?php endforeach ?> - - - </table> <?php else: ?> |
