blob: 30ac2f77a275f0205aca1ea223c7b79deacbb3af (
plain) (
tree)
|
|
<?php
class User_ClientController extends Zend_Controller_Action
{
private $membership;
public function init()
{
$userIDsNamespace = Zend_Session::namespaceGet('userIDs');
if($userIDsNamespace['membershipID'] ==''){
$pbsNotifier = new Pbs_Notifier();
echo $pbsNotifier->notify('No membershipID set','forbidden');
}
/* Initialize action controller here */
$membershipMapper = new Application_Model_MembershipMapper();
$this->membership = new Application_Model_Membership();
$membershipMapper->find($userIDsNamespace['membershipID'],$this->membership);
}
public function indexAction()
{
// TODO: ACL: is he authorized 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);
}
$result = $this->_request->getParam('modifyresult');
if($result != ""){
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('modify',$result);
}
$result = $this->_request->getParam('addresult');
if($result != ""){
$pbsNotifier = new Pbs_Notifier();
$this->view->notification = $pbsNotifier->notify('create',$result);
}
$clientMapper = new Application_Model_ClientMapper();
$clientsInGroup = $clientMapper->findBy('groupID',$this->membership->getGroupID());
#print_a($clientsInGroup);
$this->view->clients = $clientsInGroup;
}
public function addclientAction()
{
$mac = $this->_request->getParam('mac');
$hh = $this->_request->getParam('hh');
// TODO: ACL: is he authorized to create new clients?
#if( he is allowed){
if (!isset($_POST["add"])){
$addclient = new user_Form_Client(array('buttontext' => 'Create Client'));
$this->view->addclient = $addclient;
}
else{
$addclient = new user_Form_Client(array('buttontext' => 'Create Client'),$_POST);
print_a($_POST);
if ($addclient->isValid($_POST) || ($mac != '' && $hh != '') ) {
$client = new Application_Model_Client($_POST);
$mac = ($mac!='')?$mac:$_POST['macadress'];
$hh = ($hh!='')?$hh:$_POST['hardwarehash'];
$client->setMacadress($mac);
$client->setHardwarehash($hh);
$client->setGroupID($this->membership->getGroupID());
$clientmapper = new Application_Model_ClientMapper();
$clientmapper->save($client);
$this->_redirect('/user/client/index/addresult/ok');
}
$this->view->addclient = $addclient;
}
#}else{
# $this->_redirect('/user/');
#}
}
public function removeclientAction()
{
$clientID = $this->_request->getParam('clientID');
// TODO: ACL: is he authorized to delete clients?
#if( he is allowed){
$clientMapper = new Application_Model_ClientMapper();
if(is_numeric($clientID)){
$client = new Application_Model_Client();
$clientMapper->find($clientID,$client);
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');
#}else{
# $this->_redirect('/user/');
#}
}
public function editclientAction(){
// TODO: ACL: Is he authorized to edit clients ?
#if( he is allowed){
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()){
$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'),$_POST);
if ($editclient->isValid($_POST) || ($mac != '' && $hh != '') ) {
$client = new Application_Model_Client($_POST);
$client->setID($this->_request->getParam('clientID'));
$dbclient = new Application_Model_Client();
$clientMapper = new Application_Model_ClientMapper();
$clientMapper->find($this->_request->getParam('clientID'),$dbclient);
if($dbclient->getGroupID() == $this->membership->getGroupID()){
$client->setGroupID($this->membership->getGroupID());
$clientmapper = new Application_Model_ClientMapper();
$clientmapper->save($client);
$this->_redirect('/user/client/index/modifyresult/ok');
}
else{
$this->_redirect('/user/client/index/modifyresult/error');
}
}
$this->view->editclient = $editclient;
}
#}else{
# $this->_redirect('/user/');
#}
}
}
|