From 7bb045fa152dec51a75f1ba8c45c016ba96c587c Mon Sep 17 00:00:00 2001 From: Simon Franz Date: Wed, 16 Mar 2011 16:19:28 +0100 Subject: ClientController geändert, Forms können in FBGui und User nicht benutzt werden --- .zfproject.xml | 1 + application/Bootstrap.php | 3 +- .../modules/dev/controllers/ClientController.php | 2 +- .../modules/user/controllers/ClientController.php | 55 +++++++++++++++------- application/modules/user/forms/Client.php | 46 ++++++++++++++++++ .../user/views/scripts/client/addclient.phtml | 4 +- .../user/views/scripts/client/editclient.phtml | 4 +- .../modules/user/views/scripts/client/index.phtml | 1 + library/Pbs/Notifier.php | 54 +++++++++++++++++++++ 9 files changed, 147 insertions(+), 23 deletions(-) create mode 100644 application/modules/user/forms/Client.php create mode 100644 library/Pbs/Notifier.php diff --git a/.zfproject.xml b/.zfproject.xml index 5724941..c0eba40 100644 --- a/.zfproject.xml +++ b/.zfproject.xml @@ -264,6 +264,7 @@ + diff --git a/application/Bootstrap.php b/application/Bootstrap.php index db7b4e0..cfa09f5 100644 --- a/application/Bootstrap.php +++ b/application/Bootstrap.php @@ -12,7 +12,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap 'basePath' => APPLICATION_PATH, 'resourceTypes' => array( 'form' => array( - 'path' => 'forms/', + 'path' => 'forms', 'namespace' => 'Form', ) ) @@ -42,7 +42,6 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $layout = $this->getResource('layout'); $view = $layout->getView(); - # print_a($layout); $view->doctype('XHTML1_STRICT'); $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8'); $view->headLink()->appendStylesheet('/media/css/style.css'); diff --git a/application/modules/dev/controllers/ClientController.php b/application/modules/dev/controllers/ClientController.php index 27b8a08..aa66a96 100644 --- a/application/modules/dev/controllers/ClientController.php +++ b/application/modules/dev/controllers/ClientController.php @@ -61,7 +61,7 @@ class dev_ClientController extends Zend_Controller_Action { $groupMapper = new Application_Model_GroupMapper(); $groups = $groupMapper->fetchAll(); - # print_a($groups);die(); + # print_a($this);die(); if (!isset($_POST["add"])){ $clientID = $this->_request->getParam('clientID'); diff --git a/application/modules/user/controllers/ClientController.php b/application/modules/user/controllers/ClientController.php index bd111cf..f5f1810 100644 --- a/application/modules/user/controllers/ClientController.php +++ b/application/modules/user/controllers/ClientController.php @@ -16,17 +16,10 @@ class User_ClientController extends Zend_Controller_Action // TODO: ACL: is he athorized to see this ? // Get the Clients which booted with a bootiso of this group - $result = $this->_request->getParam('result'); - switch($result){ - case "forbidden": - echo "
Not allowed to delete this
"; - break; - case "ok": - echo "
Delete sucessful
"; - break; - case "error": - echo "
There was an error deleting
"; - break; + $result = $this->_request->getParam('deleteresult'); + if($result != ""){ + $pbsNotifier = new Pbs_Notifier(); + $this->view->notification = $pbsNotifier->notify('delete',$result); } $clientMapper = new Application_Model_ClientMapper(); $clientsInGroup = $clientMapper->findBy('groupID',$this->membership->getGroupID()); @@ -53,19 +46,45 @@ class User_ClientController extends Zend_Controller_Action if($client->getGroupID() == $this->membership->getGroupID()){ $clientMapper = new Application_Model_ClientMapper(); $clientMapper->delete($client); - $this->_redirect('/user/client/index/result/ok'); + $this->_redirect('/user/client/index/deleteresult/ok'); } else{ - $this->_redirect('/user/client/index/result/forbidden'); + $this->_redirect('/user/client/index/deleteresult/forbidden'); } } - $this->_redirect('/user/client/index/result/error'); - // action body + $this->_redirect('/user/client/index/deleteresult/error'); } - public function editclientAction() - { - // action body + public function editclientAction(){ + + if (!isset($_POST["add"])){ + $clientID = $this->_request->getParam('clientID'); + $client = new Application_Model_Client(); + $mapper = new Application_Model_ClientMapper(); + $mapper->find($clientID,$client); + + if($client->getGroupID() == $this->membership->getGroupID()){ + # print_a($this);die(); + $editclient = new user_Form_Client(array('buttontext' => 'Edit Client')); + $editclient->populate($client->toArray()); + $this->view->editclient = $editclient; + } + else{ + $this->_redirect('/user/client/index/modifyresult/error'); + } + } + else{ + $editclient = new user_Form_Client(array('buttontext' => 'Edit Client','groups'=>$groups),$_POST); + if ($editclient->isValid($_POST) || ($mac != '' && $hh != '') ) { + $client = new Application_Model_Client($_POST); + $client->setID($this->_request->getParam('clientID')); + $clientmapper = new Application_Model_ClientMapper(); + $clientmapper->save($client); + print_a('updated'); + $this->_redirect('/dev/client'); + } + $this->view->editclient = $editclient; + } } diff --git a/application/modules/user/forms/Client.php b/application/modules/user/forms/Client.php new file mode 100644 index 0000000..a79ede1 --- /dev/null +++ b/application/modules/user/forms/Client.php @@ -0,0 +1,46 @@ +setName("pool"); + $this->setMethod('post'); + + $this->addElement('text', 'macadress', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'MacAdress:', + )); + $this->addElement('text', 'hardwarehash', array( + 'filters' => array('StringTrim'), + 'validators' => array( + array('StringLength', false, array(0, 50)), + ), + 'required' => true, + 'label' => 'Hardwarehash:', + )); + + $this->addElement('submit', 'add', array( + 'required' => false, + 'ignore' => true, + 'label' => $this->buttontext, + )); + + $this->addElement('button', 'Cancel', array( + 'onclick' => 'self.location="/user/client"' + )); + } + private $buttontext = 'Save'; + private $groups; + function setButtontext($v){ + $this->buttontext = $v; + } + + +} + diff --git a/application/modules/user/views/scripts/client/addclient.phtml b/application/modules/user/views/scripts/client/addclient.phtml index 9d1c04e..13511fb 100644 --- a/application/modules/user/views/scripts/client/addclient.phtml +++ b/application/modules/user/views/scripts/client/addclient.phtml @@ -1 +1,3 @@ -

View script for controller Client and script/action name addclient
\ No newline at end of file +addclient; +?> diff --git a/application/modules/user/views/scripts/client/editclient.phtml b/application/modules/user/views/scripts/client/editclient.phtml index 5092e5b..2753a0f 100644 --- a/application/modules/user/views/scripts/client/editclient.phtml +++ b/application/modules/user/views/scripts/client/editclient.phtml @@ -1 +1,3 @@ -

View script for controller Client and script/action name editclient
\ No newline at end of file +editclient; +?> diff --git a/application/modules/user/views/scripts/client/index.phtml b/application/modules/user/views/scripts/client/index.phtml index e79b208..dd791ad 100644 --- a/application/modules/user/views/scripts/client/index.phtml +++ b/application/modules/user/views/scripts/client/index.phtml @@ -1,4 +1,5 @@

Clients

+notification != ''){echo $this->notification;} ?> formButton('createbootos', 'Create Client', array( 'onclick' => 'self.location="/user/client/addclient"', 'class' => 'addbutton'))?> diff --git a/library/Pbs/Notifier.php b/library/Pbs/Notifier.php new file mode 100644 index 0000000..f2f889b --- /dev/null +++ b/library/Pbs/Notifier.php @@ -0,0 +1,54 @@ +Not allowed to delete this"; + break; + case "ok": + $result = "
Delete sucessful
"; + break; + case "error": + $result = "
Delete failed
"; + break; + } + break; + case "modify": + switch($result){ + case "forbidden": + $result = "
Not allowed to modify this
"; + break; + case "ok": + $result = "
Modify sucessful
"; + break; + case "error": + $result = "
Modify failed
"; + break; + } + break; + case "create": + switch($result){ + case "forbidden": + $result = "
Not allowed to create this
"; + break; + case "ok": + $result = "
Creation sucessful
"; + break; + case "error": + $result = "
Creation failed
"; + break; + } + break; + } + return $result; + + } +} + +?> -- cgit v1.2.3-55-g7522