/** * 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; }
/** * 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); }
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))); }