summaryrefslogtreecommitdiffstats
path: root/application/modules/user/controllers/FilterController.php
diff options
context:
space:
mode:
authorBjörn Geiger2011-03-27 16:44:55 +0200
committerBjörn Geiger2011-03-27 16:44:55 +0200
commitaaf8275e5ff92504357c5f3167a3f256d0d393ad (patch)
tree1b6faae50f95f7a3bc2c51c452fc33c8f867caa4 /application/modules/user/controllers/FilterController.php
parentCompare Methode bei allen Mappern ergänzt (diff)
downloadpbs2-aaf8275e5ff92504357c5f3167a3f256d0d393ad.tar.gz
pbs2-aaf8275e5ff92504357c5f3167a3f256d0d393ad.tar.xz
pbs2-aaf8275e5ff92504357c5f3167a3f256d0d393ad.zip
Rollenverwaltung User Module
Diffstat (limited to 'application/modules/user/controllers/FilterController.php')
-rw-r--r--application/modules/user/controllers/FilterController.php358
1 files changed, 181 insertions, 177 deletions
diff --git a/application/modules/user/controllers/FilterController.php b/application/modules/user/controllers/FilterController.php
index 642c543..efa6c75 100644
--- a/application/modules/user/controllers/FilterController.php
+++ b/application/modules/user/controllers/FilterController.php
@@ -4,27 +4,31 @@ class User_FilterController extends Zend_Controller_Action
{
protected $filterMapper;
protected $membershipMapper;
- public function init()
- {
- $userIDsNamespace = Zend_Session::namespaceGet('userIDs');
- if($userIDsNamespace['membershipID'] ==''){
- $pbsNotifier = new Pbs_Notifier();
- echo $pbsNotifier->notify('No membershipID set','forbidden');
+ public function init()
+ {
+ if (Zend_Auth::getInstance()->hasIdentity()) {
+ $userIDsNamespace = Zend_Session::namespaceGet('userIDs');
+ if($userIDsNamespace['membershipID'] ==''){
+ $pbsNotifier = new Pbs_Notifier();
+ echo $pbsNotifier->notify('No membershipID set','forbidden');
+ }
+ $this->filterMapper = new Application_Model_FilterMapper();
+
+ $membershipMapper = new Application_Model_MembershipMapper();
+ $this->membership = new Application_Model_Membership();
+ $membershipMapper->find($userIDsNamespace['membershipID'],$this->membership);
+
+ $this->db = Zend_Db_Table::getDefaultAdapter();
+ } else {
+ $this->_helper->redirector('login', 'auth');
}
- $this->filterMapper = new Application_Model_FilterMapper();
-
- $membershipMapper = new Application_Model_MembershipMapper();
- $this->membership = new Application_Model_Membership();
- $membershipMapper->find($userIDsNamespace['membershipID'],$this->membership);
-
- $this->db = Zend_Db_Table::getDefaultAdapter();
- }
-
- public function indexAction()
- {
- // TODO: ACL: is he authorized to see this?
-
- $result = $this->_request->getParam('addresult');
+ }
+
+ public function indexAction()
+ {
+ // TODO: ACL: is he authorized to see this?
+
+ $result = $this->_request->getParam('addresult');
if($result != ""){
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('create',$result);
@@ -39,8 +43,8 @@ class User_FilterController extends Zend_Controller_Action
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('modify',$result);
}
-
- $filters = $this->filterMapper->findBy('groupID',$this->membership->getGroupID());
+
+ $filters = $this->filterMapper->findBy('groupID',$this->membership->getGroupID());
foreach($filters as $filter){
$ff = new Application_Model_Filter();
$ff->setOptions($filter);
@@ -48,12 +52,12 @@ class User_FilterController extends Zend_Controller_Action
$allFilter[] = $ff;
}
$this->view->filters = $allFilter;
- }
+ }
- public function addfilterAction()
- {
- // TODO: ACL: is he authorized to add a filter?
- $bmmapper = new Application_Model_BootMenuMapper();
+ public function addfilterAction()
+ {
+ // TODO: ACL: is he authorized to add a filter?
+ $bmmapper = new Application_Model_BootMenuMapper();
$result = $bmmapper->findBy('groupID',$this->membership->getGroupID());
foreach($result as $rr){
$bm = new Application_Model_BootMenu();
@@ -62,65 +66,65 @@ class User_FilterController extends Zend_Controller_Action
$bootmenus[] = $bm;
}
$this->view->bootmenus = $bootmenus;
-
- if (!isset($_POST["add"])){
- $addfilterform = new user_Form_Filter(array('buttontext' => 'Create Filter','bootmenus'=>$bootmenus));
- $this->view->addfilterform = $addfilterform;
+
+ if (!isset($_POST["add"])){
+ $addfilterform = new user_Form_Filter(array('buttontext' => 'Create Filter','bootmenus'=>$bootmenus));
+ $this->view->addfilterform = $addfilterform;
}else {
$addfilterform = new user_Form_Filter(array('buttontext' => 'Create Filter','bootmenus'=>$bootmenus),$_POST);
- if ($addfilterform->isValid($_POST)) {
+ if ($addfilterform->isValid($_POST)) {
try{
$newfilter = new Application_Model_Filter($_POST);
- $newfilter->setCreated(time());
+ $newfilter->setCreated(time());
$newfilter->setGroupID($this->membership->getGroupID());
- $newfilter->setMembershipID($this->membership->getID());
+ $newfilter->setMembershipID($this->membership->getID());
$newfilter2 = new Application_Model_FilterMapper();
$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";
- $this->_redirect('/user/filter/index/addresult/error');
- }
+ }catch (Zend_Exception $e) {
+ echo "Error message 2: " . $e->getMessage() . "\n";
+ $this->_redirect('/user/filter/index/addresult/error');
+ }
}
$this->view->addfilterform = $addfilterform;
}
- }
+ }
- public function removefilterAction()
- {
- $filterID = $this->_request->getParam('filterID');
- $filtermapper = new Application_Model_FilterMapper();
+ public function removefilterAction()
+ {
+ $filterID = $this->_request->getParam('filterID');
+ $filtermapper = new Application_Model_FilterMapper();
// TODO: ACL implementieren ob er den filter löschen darf
-
+
if(is_numeric($filterID)){
$filter = new Application_Model_Filter();
$filtermapper->find($filterID,$filter);
- if($filter->getGroupID() == $this->membership->getGroupID()){
+ if($filter->getGroupID() == $this->membership->getGroupID()){
$deletefilter = new Application_Model_Filter();
- $deletefilter->setID($filterID);
+ $deletefilter->setID($filterID);
$filtermapper->delete($deletefilter);
- $this->_redirect('/user/filter/index/deleteresult/ok');
+ $this->_redirect('/user/filter/index/deleteresult/ok');
}
else{
- $this->_redirect('/user/filter/index/deleteresult/forbidden');
+ $this->_redirect('/user/filter/index/deleteresult/forbidden');
}
}
else{
- $this->_redirect('/user/filter/index/deleteresult/error');
+ $this->_redirect('/user/filter/index/deleteresult/error');
}
- }
+ }
- public function editfilterAction()
- {
- $bmmapper = new Application_Model_BootMenuMapper();
+ public function editfilterAction()
+ {
+ $bmmapper = new Application_Model_BootMenuMapper();
$result = $bmmapper->findBy('groupID',$this->membership->getGroupID());
foreach($result as $rr){
$bm = new Application_Model_BootMenu();
@@ -128,112 +132,112 @@ class User_FilterController extends Zend_Controller_Action
$bm->setID($rr['bootmenuID']);
$bootmenus[] = $bm;
}
-
+
if (!isset($_POST["add"])){
- // TODO: ACL implementieren ob er editieren darf
+ // TODO: ACL implementieren ob er editieren darf
$filterID = $this->_request->getParam('filterID');
- $filter = new Application_Model_Filter();
+ $filter = new Application_Model_Filter();
$filtermapper = new Application_Model_FilterMapper();
- $filtermapper->find($filterID,$filter);
+ $filtermapper->find($filterID,$filter);
if($filter->getGroupID() == $this->membership->getGroupID()){
$filter2 = $filter->toArray();
- $editfilterform = new user_Form_Filter(array('buttontext' => 'Edit Filter','bootmenus'=>$bootmenus));
+ $editfilterform = new user_Form_Filter(array('buttontext' => 'Edit Filter','bootmenus'=>$bootmenus));
$editfilterform->populate($filter2);
$this->view->editfilterform = $editfilterform;
}
else{
- $this->_redirect('/user/filter/index/modifyresult/forbidden');
+ $this->_redirect('/user/filter/index/modifyresult/forbidden');
}
-
+
} else{
try{
- $filterID = $this->_request->getParam('filterID');
+ $filterID = $this->_request->getParam('filterID');
$filter = new Application_Model_Filter();
$filtermapper = new Application_Model_FilterMapper();
- $filtermapper->find($filterID,$filter);
- if($filter->getGroupID() == $this->membership->getGroupID()){
+ $filtermapper->find($filterID,$filter);
+ if($filter->getGroupID() == $this->membership->getGroupID()){
$editfilterform = new user_Form_Filter(array('buttontext' => 'Edit Filter','bootmenus'=>$bootmenus),$_POST);
- if ($editfilterform->isValid($_POST)) {
+ if ($editfilterform->isValid($_POST)) {
$newfilterentry = new Application_Model_Filter($_POST);
$newfilterentry->setID($this->_request->getParam('filterID'));
$newfilterentry->setGroupID($this->membership->getGroupID());
$newfilterentry->setMembershipID($this->membership->getID());
$newfilterentry->setCreated($_POST['created']);
- $newfilter2 = new Application_Model_FilterMapper();
+ $newfilter2 = new Application_Model_FilterMapper();
$newfilter2->save($newfilterentry);
- $this->_redirect('/user/filter/index/modifyresult/ok');
- }
+ $this->_redirect('/user/filter/index/modifyresult/ok');
+ }
$this->view->editfilterform = $editfilterform;
}
else{
- $this->_redirect('/user/filter/index/modifyresult/forbidden');
+ $this->_redirect('/user/filter/index/modifyresult/forbidden');
}
- }catch (Zend_Exception $e) {
- echo "Error message 2: " . $e->getMessage() . "\n";
- $this->_redirect('/user/filter/index/modifyresult/error');
- }
+ }catch (Zend_Exception $e) {
+ echo "Error message 2: " . $e->getMessage() . "\n";
+ $this->_redirect('/user/filter/index/modifyresult/error');
+ }
}
- }
-
- private function prepareFormData(){
- $poolMapper = new Application_Model_PoolMapper();
- $pools = $poolMapper->findBY('groupID',$this->membership->getGroupID());
-
- $bootisoMapper = new Application_Model_BootIsoMapper();
- $bootisos = $bootisoMapper->findBY('groupID',$this->membership->getGroupID());
-
- $membershipMapper = new Application_Model_MembershipMapper();
- $memberships = $membershipMapper->findBY('groupID',$this->membership->getGroupID());
-
- // TODO: get all child groups
+ }
+
+ private function prepareFormData(){
+ $poolMapper = new Application_Model_PoolMapper();
+ $pools = $poolMapper->findBY('groupID',$this->membership->getGroupID());
+
+ $bootisoMapper = new Application_Model_BootIsoMapper();
+ $bootisos = $bootisoMapper->findBY('groupID',$this->membership->getGroupID());
+
+ $membershipMapper = new Application_Model_MembershipMapper();
+ $memberships = $membershipMapper->findBY('groupID',$this->membership->getGroupID());
+
+ // TODO: get all child groups
$grouppMapper = new Application_Model_GroupMapper();
$group = new Application_Model_Group();
$grouppMapper->find($this->membership->getGroupID(),$group);
- $groups[] = $group->toArray();
-
+ $groups[] = $group->toArray();
+
$clientMapper = new Application_Model_ClientMapper();
- $clients = $clientMapper->findBY('groupID',$this->membership->getGroupID());
-
- return array ( 'clients' => $clients,
+ $clients = $clientMapper->findBY('groupID',$this->membership->getGroupID());
+
+ return array ( 'clients' => $clients,
'memberships' => $memberships,
'groups' => $groups,
'bootisos' => $bootisos,
'pools' => $pools);
-
- }
-
- public function addfilterentryAction()
- {
- // TODO: ACL: is he allowed to create a new filterentry?
- $filterID = $this->_request->getParam('filterID');
- $filterMapper = new Application_Model_FilterMapper();
- $filter = new Application_Model_Filter();
- $filterMapper->find($filterID,$filter);
-
- $selectData = $this->prepareFormData();
-
- if($filter->getGroupID() == $this->membership->getGroupID()){
- if (!isset($_POST["add"])){
+
+ }
+
+ public function addfilterentryAction()
+ {
+ // TODO: ACL: is he allowed to create a new filterentry?
+ $filterID = $this->_request->getParam('filterID');
+ $filterMapper = new Application_Model_FilterMapper();
+ $filter = new Application_Model_Filter();
+ $filterMapper->find($filterID,$filter);
+
+ $selectData = $this->prepareFormData();
+
+ if($filter->getGroupID() == $this->membership->getGroupID()){
+ if (!isset($_POST["add"])){
try{
$addform = new user_Form_FilterEntry(array( 'buttontext' => 'Add Filterentry',
'filterID' => $filterID,
'selectData' => $selectData,
'data' => $_POST
- ));
+ ));
$addform->populate($_POST);
$this->view->addform = $addform;
- }catch (Zend_Exception $e) {
+ }catch (Zend_Exception $e) {
echo "Error message 2: " . $e->getMessage() . "\n";
- $this->_redirect('/user/filter/index/addresult/error');
+ $this->_redirect('/user/filter/index/addresult/error');
}
} else{
- $addform = new user_Form_FilterEntry(array('buttontext' => 'Add Filterentry',
+ $addform = new user_Form_FilterEntry(array('buttontext' => 'Add Filterentry',
'selectData' => $selectData,
'data'=>$_POST
- ));
+ ));
if ($addform->isValid($_POST)) {
- print_a('valid');
+ print_a('valid');
$newfilterenty = new Application_Model_FilterEntries();
$newfilterenty->setFilterID($filterID);
$newfilterenty->setFiltertypeID($_POST['filtertypeID']);
@@ -246,40 +250,40 @@ class User_FilterController extends Zend_Controller_Action
$newfilterenty->setFiltervalue($this->fillup($_POST['filtervalue'],2,':'));
$newfilterenty->setFiltervalue2($this->fillup($_POST['filtervalue2'],2,':'));
}
- else{
+ else{
$newfilterenty->setFiltervalue($_POST['filtervalue']);
if(isset($_POST['filtervalue2'])){
$newfilterenty->setFiltervalue2($_POST['filtervalue2']);
}
}
-
+
$newfilter2 = new Application_Model_FilterEntriesMapper();
- $newfilter2->save($newfilterenty);
+ $newfilter2->save($newfilterenty);
$this->_redirect('/user/filter/index/addresult/ok');
}
$this->view->addform = $addform;
}
}
else{
- $this->_redirect('/user/filter/index/addresult/forbidden');
+ $this->_redirect('/user/filter/index/addresult/forbidden');
}
- }
+ }
- public function editfilterentryAction()
- {
- //TODO: ACL: is he allowed to edit filterentrys ?
- $selectData = $this->prepareFormData();
- if (!isset($_POST["add"])){
+ public function editfilterentryAction()
+ {
+ //TODO: ACL: is he allowed to edit filterentrys ?
+ $selectData = $this->prepareFormData();
+ if (!isset($_POST["add"])){
try{
$filterentriesID = $this->_request->getParam('filterentriesID');
$filterentry = new Application_Model_FilterEntries();
$filterentriesmapper = new Application_Model_FilterEntriesMapper();
- $filterentriesmapper->find($filterentriesID,$filterentry);
-
+ $filterentriesmapper->find($filterentriesID,$filterentry);
+
$filterMapper = new Application_Model_FilterMapper();
$filter = new Application_Model_Filter();
$filterMapper->find($filterentry->getFilterID(),$filter);
-
+
if($filter->getGroupID() == $this->membership->getGroupID()){
if(isset($_POST['filtertypeID']) && $_POST['filtertypeID'] != $filterentry->getFiltertypeID()){
$filterentry->setFiltertypeID($_POST['filtertypeID']) ;
@@ -288,51 +292,51 @@ class User_FilterController extends Zend_Controller_Action
$editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry',
'selectData' => $selectData,
'data' => $data
- ));
-
+ ));
+
$editfilterform->populate($filterentry->toArray());
$this->view->editfilterform = $editfilterform;
}
else{
$this->_redirect('/user/filter/index/moodifyresult/forbidden');
}
- }catch (Zend_Exception $e) {
- echo "Error message 2: " . $e->getMessage() . "\n";
+ }catch (Zend_Exception $e) {
+ echo "Error message 2: " . $e->getMessage() . "\n";
$this->_redirect('/user/filter/index/moodifyresult/error');
}
} else{
try{
- $filterentriesID = $this->_request->getParam('filterentriesID');
+ $filterentriesID = $this->_request->getParam('filterentriesID');
$editfilterform = new user_Form_FilterEntry(array('buttontext' => 'Edit Filterentry',
'selectData' => $selectData,
'data' => $_POST
- ));
- if ($editfilterform->isValid($_POST)) {
+ ));
+ if ($editfilterform->isValid($_POST)) {
$filterentry = new Application_Model_FilterEntries();
$filterentriesmapper = new Application_Model_FilterEntriesMapper();
- $filterentriesmapper->find($filterentriesID,$filterentry);
-
+ $filterentriesmapper->find($filterentriesID,$filterentry);
+
$filterMapper = new Application_Model_FilterMapper();
$filter = new Application_Model_Filter();
$filterMapper->find($filterentry->getFilterID(),$filter);
-
+
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){
+ unset($_POST['filterID']);
+
+ $newfilterenty = new Application_Model_FilterEntries($_POST);
+ $newfilterenty->setID($filterentriesID);
+ if($_POST['filtertypeID'] == 1){
$newfilterenty->setFiltervalue($this->fillup($_POST['filtervalue'],3,'.'));
$newfilterenty->setFiltervalue2($this->fillup($_POST['filtervalue2'],3,'.'));
}
- elseif($_POST['filtertypeID'] == 2){
+ elseif($_POST['filtertypeID'] == 2){
$newfilterenty->setFiltervalue($this->fillup($_POST['filtervalue'],2,';'));
$newfilterenty->setFiltervalue2($this->fillup($_POST['filtervalue2'],2,':'));
}
- else{
+ else{
$newfilterenty->setFiltervalue($_POST['filtervalue']);
- $newfilterenty->setFiltervalue2($_POST['filtervalue2']);
+ $newfilterenty->setFiltervalue2($_POST['filtervalue2']);
}
// check if it's the last groupID filterentry
@@ -353,42 +357,42 @@ class User_FilterController extends Zend_Controller_Action
echo $pbsNotifier->notify('You cannot modify the last GroupFilter','forbidden');
}
else{
- $newfilter2 = new Application_Model_FilterEntriesMapper();
+ $newfilter2 = new Application_Model_FilterEntriesMapper();
$newfilter2->save($newfilterenty);
$this->_redirect('/user/filter/index/modifyresult/ok');
}
}
else{
$this->_redirect('/user/filter/index/modifyresult/forbidden');
- }
+ }
}
$this->view->editfilterform = $editfilterform;
- }catch (Zend_Exception $e) {
- echo "Error message 2: " . $e->getMessage() . "\n";
+ }catch (Zend_Exception $e) {
+ echo "Error message 2: " . $e->getMessage() . "\n";
$this->_redirect('/user/filter/index/modifyresult/error');
}
}
- }
-
- public function removefilterentryAction()
- {
- //TODO: ACL: is he autohorized to delete a filterentry?
- $filterentriesID = $this->_request->getParam('filterentriesID');
- if(is_numeric($filterentriesID)){
- $filterentriesmapper = new Application_Model_FilterEntriesMapper();
- $filterentry = new Application_Model_FilterEntries();
- $filterentriesmapper->find($filterentriesID, $filterentry);
- $filterID = $filterentry->getFilterID();
-
- $filterMapper = new Application_Model_FilterMapper();
+ }
+
+ public function removefilterentryAction()
+ {
+ //TODO: ACL: is he autohorized to delete a filterentry?
+ $filterentriesID = $this->_request->getParam('filterentriesID');
+ if(is_numeric($filterentriesID)){
+ $filterentriesmapper = new Application_Model_FilterEntriesMapper();
+ $filterentry = new Application_Model_FilterEntries();
+ $filterentriesmapper->find($filterentriesID, $filterentry);
+ $filterID = $filterentry->getFilterID();
+
+ $filterMapper = new Application_Model_FilterMapper();
$filter = new Application_Model_Filter();
$filterMapper->find($filterID,$filter);
-
+
if($filter->getGroupID() == $this->membership->getGroupID()){
try{
$deletefilterentry = new Application_Model_FilterEntries();
- $deletefilterentry->setID($filterentriesID);
-
+ $deletefilterentry->setID($filterentriesID);
+
// check if it's the last groupID filterentry
$allFilters = $filterentriesmapper->findBy('filterID',$filterID);
$lastfilter = true;
@@ -403,34 +407,34 @@ class User_FilterController extends Zend_Controller_Action
}
}
if($lastfilter){
- $this->_redirect('/user/filter/index/deleteresult/forbidden');
+ $this->_redirect('/user/filter/index/deleteresult/forbidden');
}
- else{
+ else{
$filterentriesmapper = new Application_Model_FilterEntriesMapper();
$filterentriesmapper->delete($deletefilterentry);
- $this->_redirect('/user/filter/index/deleteresult/ok');
- }
- }catch (Zend_Exception $e) {
+ $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');
+ $this->_redirect('/user/filter/index/deleteresult/error');
}
}
else{
- $this->_redirect('/user/filter/index/deleteresult/forbidden');
+ $this->_redirect('/user/filter/index/deleteresult/forbidden');
}
}
else{
- $this->_redirect('/user/filter/index/deleteresult/error');
- }
- }
- private function fillup($string, $length, $seperator=':',$sign='0'){
- $ar = explode($seperator,$string);
+ $this->_redirect('/user/filter/index/deleteresult/error');
+ }
+ }
+ private function fillup($string, $length, $seperator=':',$sign='0'){
+ $ar = explode($seperator,$string);
$representation = array();
foreach($ar as $part){
$representation[] = sprintf("%".$sign.$length."s",$part);
}
return implode($seperator,$representation);
- }
+ }
}