diff options
author | Simon | 2011-03-30 16:14:22 +0200 |
---|---|---|
committer | Simon | 2011-03-30 16:14:22 +0200 |
commit | 6c6094d82c3d8a682c8c9a0c6cb157fadcd2eba7 (patch) | |
tree | f30e090eb73097ab76d0d755910b5211dd7b9a3e /application/modules/user/controllers/FilterController.php | |
parent | Merge branch 'master' of openslx.org:lsfks/master-teamprojekt/pbs2 (diff) | |
download | pbs2-6c6094d82c3d8a682c8c9a0c6cb157fadcd2eba7.tar.gz pbs2-6c6094d82c3d8a682c8c9a0c6cb157fadcd2eba7.tar.xz pbs2-6c6094d82c3d8a682c8c9a0c6cb157fadcd2eba7.zip |
Filter können auf höher gelegene BootMenus verweisen
Diffstat (limited to 'application/modules/user/controllers/FilterController.php')
-rw-r--r-- | application/modules/user/controllers/FilterController.php | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/application/modules/user/controllers/FilterController.php b/application/modules/user/controllers/FilterController.php index 9c53bcd..c8cd2e5 100644 --- a/application/modules/user/controllers/FilterController.php +++ b/application/modules/user/controllers/FilterController.php @@ -53,6 +53,7 @@ class User_FilterController extends Zend_Controller_Action $ff->setID($filter['filterID']); $allFilter[] = $ff; } + $this->view->filters = $allFilter; } @@ -62,14 +63,29 @@ class User_FilterController extends Zend_Controller_Action if(!Pbs_Acl::checkRight('fa')) $this->_redirect('/user'); - $bmmapper = new Application_Model_BootMenuMapper(); - $result = $bmmapper->findBy('groupID',$this->membership->getGroupID()); - foreach($result as $rr){ - $bm = new Application_Model_BootMenu(); - $bm->setOptions($rr); - $bm->setID($rr['bootmenuID']); - $bootmenus[] = $bm; + $rr = new Application_Model_GroupGroupsMapper(); + $groupMapper = new Application_Model_GroupMapper(); + $parentGroups = $rr->getParentGroups($this->membership->getGroupID()); + $bootmenus = array(); + foreach($parentGroups as $parentGroup){ + foreach($parentGroup as $p){ + $bmmapper = new Application_Model_BootMenuMapper(); + $result = $bmmapper->findBy('groupID',$p); + foreach($result as $rr){ + $bm = new Application_Model_BootMenu(); + $bm->setOptions($rr); + $bm->setID($rr['bootmenuID']); + if($bm->getMembershipID() == null){ + $group = new Application_Model_Group(); + $groupMapper->find($bm->getGroupID(),$group); + + $name = $group->getTitle(); + $bootmenus[$name][$bm->getID()] = $bm->getTitle(); + } + } + } } + $this->view->bootmenus = $bootmenus; if (!isset($_POST["add"])){ @@ -82,7 +98,7 @@ class User_FilterController extends Zend_Controller_Action $newfilter = new Application_Model_Filter($_POST); $newfilter->setCreated(time()); $newfilter->setGroupID($this->membership->getGroupID()); - $newfilter->setMembershipID($this->membership->getID()); + $newfilter->setMembershipID(null); $newfilter2 = new Application_Model_FilterMapper(); $id = $newfilter2->save($newfilter); @@ -173,7 +189,7 @@ class User_FilterController extends Zend_Controller_Action $newfilterentry = new Application_Model_Filter($_POST); $newfilterentry->setID($this->_request->getParam('filterID')); $newfilterentry->setGroupID($this->membership->getGroupID()); - $newfilterentry->setMembershipID($this->membership->getID()); + $newfilterentry->setMembershipID(null); // ACL: if he is only allowed to edit filterpriority if(Pbs_Acl::checkRight('fefp')){ |