Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/herald/view/HeraldWebhookRequestListView.php
12256 views
1
<?php
2
3
final class HeraldWebhookRequestListView
4
extends AphrontView {
5
6
private $requests;
7
private $highlightID;
8
9
public function setRequests(array $requests) {
10
assert_instances_of($requests, 'HeraldWebhookRequest');
11
$this->requests = $requests;
12
return $this;
13
}
14
15
public function setHighlightID($highlight_id) {
16
$this->highlightID = $highlight_id;
17
return $this;
18
}
19
20
public function getHighlightID() {
21
return $this->highlightID;
22
}
23
24
public function render() {
25
$viewer = $this->getViewer();
26
$requests = $this->requests;
27
28
$handle_phids = array();
29
foreach ($requests as $request) {
30
$handle_phids[] = $request->getObjectPHID();
31
}
32
$handles = $viewer->loadHandles($handle_phids);
33
34
$highlight_id = $this->getHighlightID();
35
36
$rows = array();
37
$rowc = array();
38
foreach ($requests as $request) {
39
$icon = $request->newStatusIcon();
40
41
if ($highlight_id == $request->getID()) {
42
$rowc[] = 'highlighted';
43
} else {
44
$rowc[] = null;
45
}
46
47
$last_epoch = $request->getLastRequestEpoch();
48
if ($request->getLastRequestEpoch()) {
49
$last_request = phabricator_datetime($last_epoch, $viewer);
50
} else {
51
$last_request = null;
52
}
53
54
$rows[] = array(
55
$request->getID(),
56
$icon,
57
$handles[$request->getObjectPHID()]->renderLink(),
58
$request->getErrorTypeForDisplay(),
59
$request->getErrorCodeForDisplay(),
60
$last_request,
61
);
62
}
63
64
$table = id(new AphrontTableView($rows))
65
->setRowClasses($rowc)
66
->setHeaders(
67
array(
68
pht('ID'),
69
null,
70
pht('Object'),
71
pht('Type'),
72
pht('Code'),
73
pht('Requested At'),
74
))
75
->setColumnClasses(
76
array(
77
'n',
78
'',
79
'wide',
80
'',
81
'',
82
'',
83
));
84
85
return $table;
86
}
87
88
}
89
90