diff options
Diffstat (limited to 'application/modules/user/controllers/ClientController.php')
| -rw-r--r-- | application/modules/user/controllers/ClientController.php | 82 |
1 files changed, 81 insertions, 1 deletions
diff --git a/application/modules/user/controllers/ClientController.php b/application/modules/user/controllers/ClientController.php index 54280f4..f5f1810 100644 --- a/application/modules/user/controllers/ClientController.php +++ b/application/modules/user/controllers/ClientController.php @@ -2,17 +2,97 @@ class User_ClientController extends Zend_Controller_Action { - + private $membership; public function init() { /* Initialize action controller here */ + $membershipMapper = new Application_Model_MembershipMapper(); + $this->membership = new Application_Model_Membership(); + $membershipMapper->find($_SESSION['membershipID'],$this->membership); } public function indexAction() { + // TODO: ACL: is he athorized to see this ? + + // Get the Clients which booted with a bootiso of this group + $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()); + # print_a($clientsInGroup); + + $this->view->clients = $clientsInGroup; + + } + + public function addclientAction() + { // action body } + public function removeclientAction() + { + $clientID = $this->_request->getParam('clientID'); + // TODO: ACL: is he authorized to delete clients? + $clientMapper = new Application_Model_ClientMapper(); + if(is_numeric($clientID)){ + $client = new Application_Model_Client(); + $clientMapper->find($clientID,$client); + // TODO: ACL: Is He authorized to delete + if($client->getGroupID() == $this->membership->getGroupID()){ + $clientMapper = new Application_Model_ClientMapper(); + $clientMapper->delete($client); + $this->_redirect('/user/client/index/deleteresult/ok'); + } + else{ + $this->_redirect('/user/client/index/deleteresult/forbidden'); + } + } + $this->_redirect('/user/client/index/deleteresult/error'); + } + + 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; + } + } + } + + + + + + |
