From b60afc5f965f2d41373e76abb1705ccbdfb0a19c Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Sat, 29 Aug 2015 01:12:44 +0200 Subject: [PATCH] DirectorDeploymentLog: new table --- application/tables/DirectorDeploymentLog.php | 60 ++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 application/tables/DirectorDeploymentLog.php diff --git a/application/tables/DirectorDeploymentLog.php b/application/tables/DirectorDeploymentLog.php new file mode 100644 index 00000000..4ff58563 --- /dev/null +++ b/application/tables/DirectorDeploymentLog.php @@ -0,0 +1,60 @@ + 'l.id', + 'peer_identity' => 'l.peer_identity', + 'start_time' => 'l.start_time', + 'stage_collected' => 'l.stage_collected', + 'dump_succeeded' => 'l.dump_succeeded', + 'startup_succeeded' => 'l.startup_succeeded', + 'checksum' => 'LOWER(HEX(c.checksum))', + 'duration' => "l.duration_dump || 'ms'", + ); + + if ($this->connection->getDbType() === 'pgsql') { + $columns['checksum'] = "LOWER(ENCODE(c.checksum, 'hex'))"; + } + + return $columns; + } + + protected function getActionUrl($row) + { + return $this->url('director/deployment/show', array('id' => $row->id)); + } + + public function getTitles() + { + $view = $this->view(); + return array( + 'peer_identity' => $view->translate('Peer'), + 'checksum' => $view->translate('Checksum'), + 'dump_succeeded' => $view->translate('Sent'), + 'startup_succeeded' => $view->translate('Loaded'), + ); + } + + public function getBaseQuery() + { + $db = $this->connection()->getConnection(); + + $query = $db->select()->from( + array('l' => 'director_deployment_log'), + array() + )->joinLeft( + array('c' => 'director_generated_config'), + 'c.id = l.config_id', + array() + )->order('l.start_time DESC'); + + return $query; + } +}