mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-12-03 04:02:42 +01:00
77 lines
1.7 KiB
PHP
77 lines
1.7 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Base workflow for Phrequent workflows
|
||
|
*/
|
||
|
abstract class ArcanistPhrequentWorkflow extends ArcanistBaseWorkflow {
|
||
|
|
||
|
protected function printCurrentTracking() {
|
||
|
$conduit = $this->getConduit();
|
||
|
|
||
|
$results = $conduit->callMethodSynchronous(
|
||
|
'phrequent.tracking',
|
||
|
array(
|
||
|
));
|
||
|
$results = $results['data'];
|
||
|
|
||
|
if (count($results) === 0) {
|
||
|
echo phutil_console_format(
|
||
|
"Not currently tracking time against any object\n");
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
$phids_to_lookup = array();
|
||
|
foreach ($results as $result) {
|
||
|
$phids_to_lookup[] = $result['phid'];
|
||
|
}
|
||
|
|
||
|
$phid_query = $conduit->callMethodSynchronous(
|
||
|
'phid.query',
|
||
|
array(
|
||
|
'phids' => $phids_to_lookup,
|
||
|
));
|
||
|
|
||
|
$phid_map = array();
|
||
|
foreach ($phids_to_lookup as $lookup) {
|
||
|
if (array_key_exists($lookup, $phid_query)) {
|
||
|
$phid_map[$lookup] = $phid_query[$lookup]['fullName'];
|
||
|
} else {
|
||
|
$phid_map[$lookup] = 'Unknown Object';
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$table = id(new PhutilConsoleTable())
|
||
|
->addColumn('type', array('title' => 'Status'))
|
||
|
->addColumn('time', array('title' => 'Tracked', 'align' => 'right'))
|
||
|
->addColumn('name', array('title' => 'Name'))
|
||
|
->setBorders(false);
|
||
|
|
||
|
$i = 0;
|
||
|
foreach ($results as $result) {
|
||
|
if ($result['ongoing']) {
|
||
|
if ($i === 0) {
|
||
|
$column_type = 'In Progress';
|
||
|
} else {
|
||
|
$column_type = 'Suspended';
|
||
|
}
|
||
|
} else {
|
||
|
$column_type = 'Stopped';
|
||
|
}
|
||
|
|
||
|
$table->addRow(array(
|
||
|
'type' => '('.$column_type.')',
|
||
|
'time' => phutil_format_relative_time($result['time']),
|
||
|
'name' => $phid_map[$result['phid']],
|
||
|
));
|
||
|
|
||
|
$i++;
|
||
|
}
|
||
|
|
||
|
$table->draw();
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
}
|