summaryrefslogtreecommitdiffstats
path: root/application/modules/user/controllers/ClientController.php
blob: bae649459d0c3327cd5cc627b27072f5b7ea319d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php

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()){			  
       			$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;
		}
    }


}