@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 recaptime-dev/main 74 lines 2.1 kB view raw
1<?php 2 3final class DrydockLogListController extends DrydockLogController { 4 5 public function shouldAllowPublic() { 6 return true; 7 } 8 9 public function handleRequest(AphrontRequest $request) { 10 $viewer = $request->getViewer(); 11 $engine = new DrydockLogSearchEngine(); 12 13 $id = $request->getURIData('id'); 14 $type = $request->getURIData('type'); 15 switch ($type) { 16 case 'blueprint': 17 $blueprint = id(new DrydockBlueprintQuery()) 18 ->setViewer($viewer) 19 ->withIDs(array($id)) 20 ->executeOne(); 21 if (!$blueprint) { 22 return new Aphront404Response(); 23 } 24 $engine->setBlueprint($blueprint); 25 $this->setBlueprint($blueprint); 26 break; 27 case 'resource': 28 $resource = id(new DrydockResourceQuery()) 29 ->setViewer($viewer) 30 ->withIDs(array($id)) 31 ->executeOne(); 32 if (!$resource) { 33 return new Aphront404Response(); 34 } 35 $engine->setResource($resource); 36 $this->setResource($resource); 37 break; 38 case 'lease': 39 $lease = id(new DrydockLeaseQuery()) 40 ->setViewer($viewer) 41 ->withIDs(array($id)) 42 ->executeOne(); 43 if (!$lease) { 44 return new Aphront404Response(); 45 } 46 $engine->setLease($lease); 47 $this->setLease($lease); 48 break; 49 case 'operation': 50 $operation = id(new DrydockRepositoryOperationQuery()) 51 ->setViewer($viewer) 52 ->withIDs(array($id)) 53 ->executeOne(); 54 if (!$operation) { 55 return new Aphront404Response(); 56 } 57 $engine->setOperation($operation); 58 $this->setOperation($operation); 59 break; 60 default: 61 return new Aphront404Response(); 62 } 63 64 $query_key = $request->getURIData('queryKey'); 65 66 $controller = id(new PhabricatorApplicationSearchController()) 67 ->setQueryKey($query_key) 68 ->setSearchEngine($engine) 69 ->setNavigation($this->buildSideNavView()); 70 71 return $this->delegateToController($controller); 72 } 73 74}