Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/drydock/controller/DrydockRepositoryOperationStatusController.php
12256 views
1
<?php
2
3
final class DrydockRepositoryOperationStatusController
4
extends DrydockRepositoryOperationController {
5
6
public function shouldAllowPublic() {
7
return true;
8
}
9
10
public function handleRequest(AphrontRequest $request) {
11
$viewer = $request->getViewer();
12
$id = $request->getURIData('id');
13
14
$operation = id(new DrydockRepositoryOperationQuery())
15
->setViewer($viewer)
16
->withIDs(array($id))
17
->executeOne();
18
if (!$operation) {
19
return new Aphront404Response();
20
}
21
22
$id = $operation->getID();
23
24
$status_view = id(new DrydockRepositoryOperationStatusView())
25
->setUser($viewer)
26
->setOperation($operation);
27
28
if ($request->isAjax()) {
29
$payload = array(
30
'markup' => $status_view->renderUnderwayState(),
31
'isUnderway' => $operation->isUnderway(),
32
);
33
34
return id(new AphrontAjaxResponse())
35
->setContent($payload);
36
}
37
38
$title = pht('Repository Operation %d', $id);
39
40
$crumbs = $this->buildApplicationCrumbs();
41
$crumbs->addTextCrumb(
42
pht('Operations'),
43
$this->getApplicationURI('operation/'));
44
$crumbs->addTextCrumb($title);
45
46
return $this->newPage()
47
->setTitle(pht('Status'))
48
->setCrumbs($crumbs)
49
->appendChild($status_view);
50
}
51
52
}
53
54