diff options
| author | Simon | 2011-03-19 18:11:02 +0100 |
|---|---|---|
| committer | Simon | 2011-03-19 18:11:02 +0100 |
| commit | f17ab652a06ee8c186938647d7dec1d59113dc42 (patch) | |
| tree | 8e6c9b8ee9c50e2d52076eb6e0f96d8102a58576 /application/modules | |
| parent | Filter funktioniert nun, FBGui IndexController angepasst (diff) | |
| download | pbs2-f17ab652a06ee8c186938647d7dec1d59113dc42.tar.gz pbs2-f17ab652a06ee8c186938647d7dec1d59113dc42.tar.xz pbs2-f17ab652a06ee8c186938647d7dec1d59113dc42.zip | |
Jeder Filter muss immer einen FilterType mit Gruppe haben
Diffstat (limited to 'application/modules')
| -rw-r--r-- | application/modules/user/controllers/FilterController.php | 72 |
1 files changed, 59 insertions, 13 deletions
diff --git a/application/modules/user/controllers/FilterController.php b/application/modules/user/controllers/FilterController.php index 3a14865..fd1b1a3 100644 --- a/application/modules/user/controllers/FilterController.php +++ b/application/modules/user/controllers/FilterController.php @@ -74,7 +74,15 @@ class User_FilterController extends Zend_Controller_Action $newfilter->setGroupID($this->membership->getGroupID()); $newfilter->setMembershipID($this->membership->getID()); $newfilter2 = new Application_Model_FilterMapper(); - $newfilter2->save($newfilter); + $id = $newfilter2->save($newfilter); + + $filterentriesMapper = new Application_Model_FilterEntriesMapper(); + $filterentry = new Application_Model_FilterEntries(); + $filterentry->setFilterID($id); + $filterentry->setFiltertypeID(6); + $filterentry->setFiltervalue($this->membership->getGroupID()); + $filterentriesMapper->save($filterentry); + $this->_redirect('/user/filter/index/addresult/ok'); }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; @@ -237,7 +245,6 @@ class User_FilterController extends Zend_Controller_Action $filterentry->setFiltertypeID($_POST['filtertypeID']) ; } $data = $filterentry->toArray(); - # print_a($data); $editfilterform = new user_Form_FilterEntry( array('buttontext' => 'Edit Filterentry', 'data' => $data)); @@ -255,7 +262,7 @@ class User_FilterController extends Zend_Controller_Action } else{ try{ $filterentriesID = $this->_request->getParam('filterentriesID'); - $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry'),$_POST); + $editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry','data' => $_POST),$_POST); if ($editfilterform->isValid($_POST)) { $filterentry = new Application_Model_FilterEntries(); $filterentriesmapper = new Application_Model_FilterEntriesMapper(); @@ -265,9 +272,10 @@ class User_FilterController extends Zend_Controller_Action $filter = new Application_Model_Filter(); $filterMapper->find($filterentry->getFilterID(),$filter); - if($filter->getGroupID() == $this->membership->getGroupID()){ + if($filter->getGroupID() == $this->membership->getGroupID()){ if($_POST['filterID'] == '') unset($_POST['filterID']); + $newfilterenty = new Application_Model_FilterEntries($_POST); $newfilterenty->setID($filterentriesID); if($_POST['filtertypeID'] == 1){ @@ -278,9 +286,30 @@ class User_FilterController extends Zend_Controller_Action $newfilterenty->setFiltervalue($_POST['filtervalue']); $newfilterenty->setFiltervalue2($_POST['filtervalue2']); } - $newfilter2 = new Application_Model_FilterEntriesMapper(); - $newfilter2->save($newfilterenty); - $this->_redirect('/user/filter/index/modifyresult/ok'); + + // 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){ + // one other filter with a groupID exists + $lastfilter = false; + } + if($newfilterenty->getFiltertypeID() == 6){ + // this filter will be a GroupFilter + $lastfilter = false; + } + } + if($lastfilter){ + $pbsNotifier = new Pbs_Notifier(); + echo $pbsNotifier->notify('You cannot modify the last GroupFilter','forbidden'); + } + else{ + $newfilter2 = new Application_Model_FilterEntriesMapper(); + $newfilter2->save($newfilterenty); + $this->_redirect('/user/filter/index/modifyresult/ok'); + } } else{ $this->_redirect('/user/filter/index/modifyresult/forbidden'); @@ -309,14 +338,31 @@ class User_FilterController extends Zend_Controller_Action $filterMapper->find($filterID,$filter); if($filter->getGroupID() == $this->membership->getGroupID()){ - try{ + try{ $deletefilterentry = new Application_Model_FilterEntries(); $deletefilterentry->setID($filterentriesID); - - $filterentriesmapper = new Application_Model_FilterEntriesMapper(); - $filterentriesmapper->delete($deletefilterentry); - $this->_redirect('/user/filter/index/deleteresult/ok'); - + + // check if it's the last groupID filterentry + $allFilters = $filterentriesmapper->findBy('filterID',$filterID); + $lastfilter = true; + foreach($allFilters as $thisFilterentry){ + if($thisFilterentry['filtertypeID'] == 6 && $thisFilterentry['filterentriesID'] != $filterentriesID){ + // one other filter with a groupID exists + $lastfilter = false; + } + if($deletefilterentry->getFiltertypeID() == 6){ + // this filter will be a GroupFilter + $lastfilter = false; + } + } + if($lastfilter){ + $this->_redirect('/user/filter/index/deleteresult/forbidden'); + } + else{ + $filterentriesmapper = new Application_Model_FilterEntriesMapper(); + $filterentriesmapper->delete($deletefilterentry); + $this->_redirect('/user/filter/index/deleteresult/ok'); + } }catch (Zend_Exception $e) { echo "Error message 2: " . $e->getMessage() . "\n"; $this->_redirect('/user/filter/index/deleteresult/error'); |
