1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-23 14:00:56 +01:00

Make push log "flags", "reject code" human readable; add crumbs to pull/push logs

Summary:
Depends on D18972. Ref T13049.

Currently, the "flags" columns renders an inscrutible bitmask which you have to go hunt down in the code. Show a list of flags in human-readable text instead.

The "code" column renders a meaningless integer code. Show a text description instead.

The pull logs and push logs pages don't have a crumb to go back up out of the current query. Add one.

Test Plan: Viewed push logs, no more arcane numbers. Saw and clicked crumbs on each log page.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13049

Differential Revision: https://secure.phabricator.com/D18973
This commit is contained in:
epriestley 2018-01-30 13:01:09 -08:00
parent ff98f6f522
commit 1e3d1271ad
3 changed files with 35 additions and 5 deletions

View file

@ -9,4 +9,9 @@ final class DiffusionPullLogListController
->buildResponse(); ->buildResponse();
} }
protected function buildApplicationCrumbs() {
return parent::buildApplicationCrumbs()
->addTextCrumb(pht('Pull Logs'), $this->getApplicationURI('pulllog/'));
}
} }

View file

@ -9,4 +9,9 @@ final class DiffusionPushLogListController
->buildResponse(); ->buildResponse();
} }
protected function buildApplicationCrumbs() {
return parent::buildApplicationCrumbs()
->addTextCrumb(pht('Push Logs'), $this->getApplicationURI('pushlog/'));
}
} }

View file

@ -28,6 +28,9 @@ final class DiffusionPushLogListView extends AphrontView {
// Only administrators can view remote addresses. // Only administrators can view remote addresses.
$remotes_visible = $viewer->getIsAdmin(); $remotes_visible = $viewer->getIsAdmin();
$flag_map = PhabricatorRepositoryPushLog::getFlagDisplayNames();
$reject_map = PhabricatorRepositoryPushLog::getRejectCodeDisplayNames();
$rows = array(); $rows = array();
$any_host = false; $any_host = false;
foreach ($logs as $log) { foreach ($logs as $log) {
@ -59,6 +62,23 @@ final class DiffusionPushLogListView extends AphrontView {
$device = null; $device = null;
} }
$flags = $log->getChangeFlags();
$flag_names = array();
foreach ($flag_map as $flag_key => $flag_name) {
if (($flags & $flag_key) === $flag_key) {
$flag_names[] = $flag_name;
}
}
$flag_names = phutil_implode_html(
phutil_tag('br'),
$flag_names);
$reject_code = $log->getPushEvent()->getRejectCode();
$reject_label = idx(
$reject_map,
$reject_code,
pht('Unknown ("%s")', $reject_code));
$rows[] = array( $rows[] = array(
phutil_tag( phutil_tag(
'a', 'a',
@ -85,10 +105,8 @@ final class DiffusionPushLogListView extends AphrontView {
'href' => $repository->getCommitURI($log->getRefNew()), 'href' => $repository->getCommitURI($log->getRefNew()),
), ),
$log->getRefNewShort()), $log->getRefNewShort()),
$flag_names,
// TODO: Make these human-readable. $reject_label,
$log->getChangeFlags(),
$log->getPushEvent()->getRejectCode(),
$viewer->formatShortDateTime($log->getEpoch()), $viewer->formatShortDateTime($log->getEpoch()),
); );
} }
@ -107,7 +125,7 @@ final class DiffusionPushLogListView extends AphrontView {
pht('Old'), pht('Old'),
pht('New'), pht('New'),
pht('Flags'), pht('Flags'),
pht('Code'), pht('Result'),
pht('Date'), pht('Date'),
)) ))
->setColumnClasses( ->setColumnClasses(
@ -122,6 +140,8 @@ final class DiffusionPushLogListView extends AphrontView {
'wide', 'wide',
'n', 'n',
'n', 'n',
'',
'',
'right', 'right',
)) ))
->setColumnVisibility( ->setColumnVisibility(