Ejemplo n.º 1
0
 /**
  * Default action for every controller.
  *
  */
 public function indexAction()
 {
     $projects = new USVN_Db_Table_Projects();
     $this->view->projects = $projects->fetchAllAssignedTo($this->getRequest()->getParam('user'));
     $identity = Zend_Auth::getInstance()->getIdentity();
     $user_table = new USVN_Db_Table_Users();
     $user = $user_table->fetchRow(array('users_login = ?' => $identity['username']));
     $this->view->groups = $user->listGroups();
     $this->view->maxlen = 12;
 }
Ejemplo n.º 2
0
 /**
  * Return list of projects
  * 
  * 	http://usvn.localhost/service/list
  * 
  * 	<?xml version="1.0" encoding="UTF-8"?>
  * 	<usvn>
  * 		<auth>
  * 			<username>USERNAME</username>
  * 			<password>PASSWORD</password>
  * 		</auth>
  * </usvn>
  */
 public function listAction()
 {
     // Parse XML request
     $this->_parseRequest();
     // Authenticate
     if (!$this->_auth()) {
         throw new Zend_Exception("Authentication failure");
     }
     // Retrieve projects from the authenticated user
     $projects = new USVN_Db_Table_Projects();
     $list = $projects->fetchAllAssignedTo($this->_userRow);
     // Start create XML return
     $dom = new DOMDocument("1.0", "UTF-8");
     $xmlService = $dom->createElement("usvn");
     $xmlService = $dom->appendChild($xmlService);
     // Create project rows
     $xmlProjects = $xmlService->appendChild($dom->createElement("projects"));
     foreach ($list as $row) {
         $xmlNode = $xmlProjects->appendChild($dom->createElement("project"));
         $xmlNode->appendChild($dom->createElement("id", $row->projects_id));
         $xmlNode->appendChild($dom->createElement("name", $row->projects_name));
         $xmlNode->appendChild($dom->createElement("start_date", $row->projects_start_date));
         $xmlNode->appendChild($dom->createElement("description", $row->projects_description));
     }
     // Output xml
     $this->_outputResponse($dom);
 }
Ejemplo n.º 3
0
 public function testfetchAllAssignedToAll()
 {
     $users = array('stem', 'noplay', 'crivis_s', 'duponc_j', 'dolean_j', 'billar_m', 'attal_m', 'joanic_g', 'guyoll_o');
     foreach ($users as $user) {
         ${$user} = $this->createUser($user, "password");
     }
     /* @var $stem USVN_Db_Table_Row_User */
     /* @var $noplay USVN_Db_Table_Row_User */
     /* @var $crivis_s USVN_Db_Table_Row_User */
     /* @var $duponc_j USVN_Db_Table_Row_User */
     /* @var $dolean_j USVN_Db_Table_Row_User */
     /* @var $billar_m USVN_Db_Table_Row_User */
     /* @var $attal_m USVN_Db_Table_Row_User */
     /* @var $joanic_g USVN_Db_Table_Row_User */
     /* @var $guyoll_o USVN_Db_Table_Row_User */
     $projects = array('usvn', 'private', 'website', 'proj4', 'proj5', 'proj6', 'proj7', 'proj8', 'proj9', 'proj10', 'proj11');
     foreach ($projects as $project) {
         ${$project} = $this->createProject($project);
         ${$project}->addUser($stem);
         if ($project != 'private' && $project != 'website') {
             $group = "group_{$project}";
             ${$group} = $this->createGroup($group);
             ${$project}->addGroup(${$group});
             if ($project == 'usvn') {
                 $crivis_s->addGroup(${$group});
                 $dolean_j->addGroup(${$group});
                 $guyoll_o->addGroup(${$group});
                 $billar_m->addGroup(${$group});
                 $attal_m->addGroup(${$group});
                 $joanic_g->addGroup(${$group});
                 $duponc_j->addGroup(${$group});
             } else {
                 $stem->addGroup(${$group});
             }
         } else {
             ${$project}->addGroup(${"group_usvn"});
         }
     }
     /* @var $usvn USVN_Db_Table_Row_Project */
     /* @var $private USVN_Db_Table_Row_Project */
     /* @var $website USVN_Db_Table_Row_Project */
     /* @var $ETNA USVN_Db_Table_Row_Project */
     /* @var $toeic USVN_Db_Table_Row_Project */
     /* @var $conf USVN_Db_Table_Row_Project */
     /* @var $dotNET USVN_Db_Table_Row_Project */
     /* @var $generic USVN_Db_Table_Row_Project */
     $table = new USVN_Db_Table_Projects();
     $this->assertEquals(3, count($table->fetchAllAssignedTo($crivis_s)));
     $this->assertEquals(count($projects), count($table->fetchAllAssignedTo($stem)));
 }