Path: blob/master/src/applications/diffusion/view/DiffusionSyncLogListView.php
12242 views
<?php12final class DiffusionSyncLogListView extends AphrontView {34private $logs;56public function setLogs(array $logs) {7assert_instances_of($logs, 'PhabricatorRepositorySyncEvent');8$this->logs = $logs;9return $this;10}1112public function render() {13$events = $this->logs;14$viewer = $this->getViewer();1516$rows = array();17foreach ($events as $event) {18$repository = $event->getRepository();19$repository_link = phutil_tag(20'a',21array(22'href' => $repository->getURI(),23),24$repository->getDisplayName());2526$event_id = $event->getID();2728$sync_wait = pht('%sus', new PhutilNumber($event->getSyncWait()));2930$device_link = $viewer->renderHandle($event->getDevicePHID());31$from_device_link = $viewer->renderHandle($event->getFromDevicePHID());3233$rows[] = array(34$event_id,35$repository_link,36$device_link,37$from_device_link,38$event->getDeviceVersion(),39$event->getFromDeviceVersion(),40$event->getResultType(),41$event->getResultCode(),42phabricator_datetime($event->getEpoch(), $viewer),43$sync_wait,44);45}4647$table = id(new AphrontTableView($rows))48->setHeaders(49array(50pht('Sync'),51pht('Repository'),52pht('Device'),53pht('From Device'),54pht('Version'),55pht('From Version'),56pht('Result'),57pht('Code'),58pht('Date'),59pht('Sync Wait'),60))61->setColumnClasses(62array(63'n',64'',65'',66'',67'n',68'n',69'wide right',70'n',71'right',72'n right',73));7475return $table;76}7778}798081