@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
at upstream/main 52 lines 1.3 kB view raw
1<?php 2 3final 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}