3 final class DrydockRepositoryOperationDismissController
4 extends DrydockRepositoryOperationController
{
6 public function handleRequest(AphrontRequest
$request) {
7 $viewer = $request->getViewer();
8 $id = $request->getURIData('id');
10 $operation = id(new DrydockRepositoryOperationQuery())
13 ->requireCapabilities(
15 PhabricatorPolicyCapability
::CAN_VIEW
,
16 PhabricatorPolicyCapability
::CAN_EDIT
,
20 return new Aphront404Response();
23 $object_phid = $operation->getObjectPHID();
24 $handles = $viewer->loadHandles(array($object_phid));
25 $done_uri = $handles[$object_phid]->getURI();
27 if ($operation->getIsDismissed()) {
28 return $this->newDialog()
29 ->setTitle(pht('Already Dismissed'))
32 'This operation has already been dismissed, and can not be '.
33 'dismissed any further.'))
34 ->addCancelButton($done_uri);
38 if ($request->isFormPost()) {
43 return id(new AphrontRedirectResponse())->setURI($done_uri);
46 return $this->newDialog()
47 ->setTitle(pht('Dismiss Operation'))
50 'Dismiss this operation? It will no longer be shown, but logs '.
51 'can be found in Drydock.'))
52 ->addSubmitButton(pht('Dismiss'))
53 ->addCancelButton($done_uri);