summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authormichael pereira2011-03-05 13:27:20 +0100
committermichael pereira2011-03-05 13:27:20 +0100
commit3e86f2118ae8fd85e433913410c82915232cd073 (patch)
tree3fbb90e62a1974cc9daf94d58a79f06ae449e0fd /application
parentbootos v1 (diff)
parentOberfläche der filter wurde verbessert, sodass nun filterentrys angelegt wer... (diff)
downloadpbs2-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.ini2
-rw-r--r--application/controllers/FilterController.php156
-rw-r--r--application/forms/FilterEdit.php54
-rw-r--r--application/forms/FilterEntriesAdd.php53
-rw-r--r--application/models/DbTable/FilterEntries.php2
-rw-r--r--application/models/FilterEntriesMapper.php45
-rw-r--r--application/models/FilterType.php2
-rw-r--r--application/models/FilterTypeMapper.php6
-rw-r--r--application/views/scripts/filter/addfilterentry.phtml3
-rw-r--r--application/views/scripts/filter/editfilter.phtml16
-rw-r--r--application/views/scripts/filter/index.phtml59
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: ?>