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
---
.../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 +
6 files changed, 91 insertions(+), 21 deletions(-)
create mode 100644 application/modules/user/forms/Client.php
(limited to 'application/modules')
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'))?>
--
cgit v1.2.3-55-g7522