Something went wrong. Try again.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
Something went wrong. Try again.
1.9 kB · 82 lines
PHP
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283<?php
final class DiffusionSyncLogListView extends AphrontView {
private $logs;
/** * @param array<PhabricatorRepositorySyncEvent> $logs */ public function setLogs(array $logs) { assert_instances_of($logs, PhabricatorRepositorySyncEvent::class); $this->logs = $logs; return $this; }
public function render() { $events = $this->logs; $viewer = $this->getViewer();
$rows = array(); foreach ($events as $event) { $repository = $event->getRepository(); $repository_link = phutil_tag( 'a', array( 'href' => $repository->getURI(), ), $repository->getDisplayName());
$event_id = $event->getID();
$sync_wait = pht('%sus', new PhutilNumber($event->getSyncWait()));
$device_link = $viewer->renderHandle($event->getDevicePHID()); $from_device_link = $viewer->renderHandle($event->getFromDevicePHID());
$rows[] = array( $event_id, $repository_link, $device_link, $from_device_link, $event->getDeviceVersion(), $event->getFromDeviceVersion(), $event->getResultType(), $event->getResultCode(), phabricator_datetime($event->getEpoch(), $viewer), $sync_wait, ); }
$table = id(new AphrontTableView($rows)) ->setHeaders( array( pht('Sync'), pht('Repository'), pht('Device'), pht('From Device'), pht('Version'), pht('From Version'), pht('Result'), pht('Code'), pht('Date'), pht('Sync Wait'), )) ->setColumnClasses( array( 'n', '', '', '', 'n', 'n', 'wide right', 'n', 'right', 'n right', ));
return $table; }
}