Path: blob/master/src/applications/drydock/controller/DrydockBlueprintDisableController.php
12256 views
<?php12final class DrydockBlueprintDisableController3extends DrydockBlueprintController {45public function handleRequest(AphrontRequest $request) {6$viewer = $request->getViewer();7$id = $request->getURIData('id');89$blueprint = id(new DrydockBlueprintQuery())10->setViewer($viewer)11->withIDs(array($id))12->requireCapabilities(13array(14PhabricatorPolicyCapability::CAN_VIEW,15PhabricatorPolicyCapability::CAN_EDIT,16))17->executeOne();18if (!$blueprint) {19return new Aphront404Response();20}2122$is_disable = ($request->getURIData('action') == 'disable');23$id = $blueprint->getID();24$cancel_uri = $this->getApplicationURI("blueprint/{$id}/");2526if ($request->isFormPost()) {27$xactions = array();2829$xactions[] = id(new DrydockBlueprintTransaction())30->setTransactionType(31DrydockBlueprintDisableTransaction::TRANSACTIONTYPE)32->setNewValue($is_disable ? 1 : 0);3334$editor = id(new DrydockBlueprintEditor())35->setActor($viewer)36->setContentSourceFromRequest($request)37->setContinueOnNoEffect(true)38->setContinueOnMissingFields(true)39->applyTransactions($blueprint, $xactions);4041return id(new AphrontRedirectResponse())->setURI($cancel_uri);42}4344if ($is_disable) {45$title = pht('Disable Blueprint');46$body = pht(47'If you disable this blueprint, Drydock will no longer use it to '.48'allocate new resources. Existing resources will not be affected.');49$button = pht('Disable Blueprint');50} else {51$title = pht('Enable Blueprint');52$body = pht(53'If you enable this blueprint, Drydock will start using it to '.54'allocate new resources.');55$button = pht('Enable Blueprint');56}5758return $this->newDialog()59->setTitle($title)60->appendParagraph($body)61->addCancelButton($cancel_uri)62->addSubmitButton($button);63}64}656667