icingaweb2-module-director/application/tables/IcingaCommandArgumentTable.php

71 lines
1.7 KiB
PHP
Raw Normal View History

2015-06-01 16:29:03 +02:00
<?php
namespace Icinga\Module\Director\Tables;
use Icinga\Module\Director\Objects\IcingaCommand;
2015-06-01 16:29:03 +02:00
use Icinga\Module\Director\Web\Table\QuickTable;
class IcingaCommandArgumentTable extends QuickTable
{
protected $commandObject;
protected $searchColumns = array(
'command',
);
public function setCommandObject(IcingaCommand $command)
{
$this->commandObject = $command;
if ($this->connection === null) {
$this->setConnection($command->getConnection());
}
return $this;
}
2015-06-01 16:29:03 +02:00
public function getColumns()
{
return array(
'id' => 'ca.id',
'command_id' => 'c.id',
2015-06-01 16:29:03 +02:00
'command' => 'c.object_name',
'argument_name' => 'ca.argument_name',
'argument_value' => 'ca.argument_value',
);
}
protected function getActionUrl($row)
{
return $this->url(
'director/command/arguments',
array(
'argument_id' => $row->id,
'name' => $this->commandObject->object_name
)
);
2015-06-01 16:29:03 +02:00
}
public function getTitles()
{
$view = $this->view();
return array(
'argument_name' => $view->translate('Argument'),
'argument_value' => $view->translate('Value'),
2015-06-01 16:29:03 +02:00
);
}
public function getBaseQuery()
2015-06-01 16:29:03 +02:00
{
$db = $this->connection()->getConnection();
$query = $db->select()->from(
array('ca' => 'icinga_command_argument'),
array()
2015-06-01 16:29:03 +02:00
)->joinLeft(
array('c' => 'icinga_command'),
'ca.command_id = c.id',
array()
);
return $query;
2015-06-01 16:29:03 +02:00
}
}