mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-16 20:02:40 +01:00
70 lines
1.3 KiB
PHP
70 lines
1.3 KiB
PHP
|
<?php
|
||
|
|
||
|
final class DrydockLogListView extends AphrontView {
|
||
|
|
||
|
private $logs;
|
||
|
|
||
|
public function setLogs(array $logs) {
|
||
|
assert_instances_of($logs, 'DrydockLog');
|
||
|
$this->logs = $logs;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
public function render() {
|
||
|
$logs = $this->logs;
|
||
|
$viewer = $this->getUser();
|
||
|
|
||
|
$view = new PHUIObjectItemListView();
|
||
|
|
||
|
$rows = array();
|
||
|
foreach ($logs as $log) {
|
||
|
$resource_uri = '/drydock/resource/'.$log->getResourceID().'/';
|
||
|
$lease_uri = '/drydock/lease/'.$log->getLeaseID().'/';
|
||
|
|
||
|
$rows[] = array(
|
||
|
phutil_tag(
|
||
|
'a',
|
||
|
array(
|
||
|
'href' => $resource_uri,
|
||
|
),
|
||
|
$log->getResourceID()),
|
||
|
phutil_tag(
|
||
|
'a',
|
||
|
array(
|
||
|
'href' => $lease_uri,
|
||
|
),
|
||
|
$log->getLeaseID()),
|
||
|
$log->getMessage(),
|
||
|
phabricator_date($log->getEpoch(), $viewer),
|
||
|
);
|
||
|
}
|
||
|
|
||
|
$table = new AphrontTableView($rows);
|
||
|
$table->setDeviceReadyTable(true);
|
||
|
$table->setHeaders(
|
||
|
array(
|
||
|
'Resource',
|
||
|
'Lease',
|
||
|
'Message',
|
||
|
'Date',
|
||
|
));
|
||
|
$table->setShortHeaders(
|
||
|
array(
|
||
|
'R',
|
||
|
'L',
|
||
|
'Message',
|
||
|
'',
|
||
|
));
|
||
|
$table->setColumnClasses(
|
||
|
array(
|
||
|
'',
|
||
|
'',
|
||
|
'wide',
|
||
|
'',
|
||
|
));
|
||
|
|
||
|
return $table;
|
||
|
}
|
||
|
|
||
|
}
|