public function populateView() { $projects = new GD_Model_ProjectsMapper(); $project_slug = $this->_getParam("project"); if ($project_slug != "") { $project = $projects->getProjectBySlug($project_slug); } $deployments_map = new GD_Model_DeploymentsMapper(); $this->view->deployments = $deployments_map->getDeploymentsByProject($project->getId()); $this->view->project = $project; }
public function deleteAction() { $projects = new GD_Model_ProjectsMapper(); $project_slug = $this->_getParam("project"); $project = $projects->getProjectBySlug($project_slug); // Initialise the mapper objects we'll need $deploymentsMapper = new GD_Model_DeploymentsMapper(); $deploymentFilesMapper = new GD_Model_DeploymentFilesMapper(); $serversMapper = new GD_Model_ServersMapper(); // Delete the deployments associated with the project. $deployments = $deploymentsMapper->getDeploymentsByProject($project->getId()); foreach ($deployments as $deployment) { // Delete the files associated with the project. $deploymentFiles = $deploymentFilesMapper->getDeploymentFilesByDeployment($deployment->getId()); foreach ($deploymentFiles as $deploymentFile) { $deploymentFilesMapper->delete($deploymentFile); } // Delete deployment. $deploymentsMapper->delete($deployment); } // Delete the servers associated with the project. $servers = $serversMapper->getServersByProject($project->getId()); foreach ($servers as $server) { $serversMapper->delete($server); } // Delete the project's git repo. $git = new GD_Git($project); $git->deleteRepository(); // Delete the project $projects->delete($project); $this->_redirect($this->getFrontController()->getBaseUrl() . "/home"); }
public function getLastDeploymentRevisionAction() { // Get server ID from url $server_id = $this->_getParam("server_id"); // Get project ID from url $projects = new GD_Model_ProjectsMapper(); $project_slug = $this->_getParam("project"); if ($project_slug != "") { $project = $projects->getProjectBySlug($project_slug); } $deployments = new GD_Model_DeploymentsMapper(); $last_deployment = $deployments->getLastSuccessfulDeployment($project->getId(), $server_id); if (!is_null($last_deployment)) { $from_rev = $last_deployment->getToRevision(); } else { $from_rev = ""; } $this->_response->setHeader('Content-type', 'text/plain'); $this->_helper->viewRenderer->setNoRender(); $this->_helper->layout->disableLayout(); $data = array('fromRevision' => $from_rev); $jsonData = Zend_Json::encode($data); $this->_response->appendBody($jsonData); }
/** * @return int $count number of deployments */ public function getNumDeployments() { $deployments = new GD_Model_DeploymentsMapper(); $num_deploymens = $deployments->getNumDeployments($this->getId()); return $num_deploymens; }