Path: blob/master/src/applications/drydock/controller/DrydockRepositoryOperationDismissController.php
12256 views
<?php12final class DrydockRepositoryOperationDismissController3extends DrydockRepositoryOperationController {45public function handleRequest(AphrontRequest $request) {6$viewer = $request->getViewer();7$id = $request->getURIData('id');89$operation = id(new DrydockRepositoryOperationQuery())10->setViewer($viewer)11->withIDs(array($id))12->requireCapabilities(13array(14PhabricatorPolicyCapability::CAN_VIEW,15PhabricatorPolicyCapability::CAN_EDIT,16))17->executeOne();18if (!$operation) {19return new Aphront404Response();20}2122$object_phid = $operation->getObjectPHID();23$handles = $viewer->loadHandles(array($object_phid));24$done_uri = $handles[$object_phid]->getURI();2526if ($operation->getIsDismissed()) {27return $this->newDialog()28->setTitle(pht('Already Dismissed'))29->appendParagraph(30pht(31'This operation has already been dismissed, and can not be '.32'dismissed any further.'))33->addCancelButton($done_uri);34}353637if ($request->isFormPost()) {38$operation39->setIsDismissed(1)40->save();4142return id(new AphrontRedirectResponse())->setURI($done_uri);43}4445return $this->newDialog()46->setTitle(pht('Dismiss Operation'))47->appendParagraph(48pht(49'Dismiss this operation? It will no longer be shown, but logs '.50'can be found in Drydock.'))51->addSubmitButton(pht('Dismiss'))52->addCancelButton($done_uri);53}5455}565758