Path: blob/master/src/applications/harbormaster/controller/HarbormasterPlanDisableController.php
12256 views
<?php12final class HarbormasterPlanDisableController3extends HarbormasterPlanController {45public function handleRequest(AphrontRequest $request) {6$viewer = $this->getViewer();78$plan = id(new HarbormasterBuildPlanQuery())9->setViewer($viewer)10->withIDs(array($request->getURIData('id')))11->requireCapabilities(12array(13PhabricatorPolicyCapability::CAN_VIEW,14PhabricatorPolicyCapability::CAN_EDIT,15))16->executeOne();17if (!$plan) {18return new Aphront404Response();19}2021$plan_uri = $plan->getURI();2223if ($request->isFormPost()) {2425$type_status = HarbormasterBuildPlanStatusTransaction::TRANSACTIONTYPE;2627$v_status = $plan->isDisabled()28? HarbormasterBuildPlan::STATUS_ACTIVE29: HarbormasterBuildPlan::STATUS_DISABLED;3031$xactions = array();3233$xactions[] = id(new HarbormasterBuildPlanTransaction())34->setTransactionType($type_status)35->setNewValue($v_status);3637$editor = id(new HarbormasterBuildPlanEditor())38->setActor($viewer)39->setContinueOnNoEffect(true)40->setContinueOnMissingFields(true)41->setContentSourceFromRequest($request);4243$editor->applyTransactions($plan, $xactions);4445return id(new AphrontRedirectResponse())->setURI($plan_uri);46}4748if ($plan->isDisabled()) {49$title = pht('Enable Build Plan');50$body = pht('Enable this build plan?');51$button = pht('Enable Plan');52} else {53$title = pht('Disable Build Plan');54$body = pht(55'Disable this build plan? It will no longer be executed '.56'automatically.');57$button = pht('Disable Plan');58}5960return $this->newDialog()61->setTitle($title)62->appendChild($body)63->addSubmitButton($button)64->addCancelButton($plan_uri);65}6667}686970