3 final class PhabricatorMacroDisableController
4 extends PhabricatorMacroController
{
6 public function handleRequest(AphrontRequest
$request) {
7 $viewer = $request->getViewer();
8 $id = $request->getURIData('id');
10 $this->requireApplicationCapability(
11 PhabricatorMacroManageCapability
::CAPABILITY
);
13 $macro = id(new PhabricatorMacroQuery())
18 return new Aphront404Response();
21 $view_uri = $this->getApplicationURI('/view/'.$id.'/');
23 if ($request->isDialogFormPost() ||
$macro->getIsDisabled()) {
24 $xaction = id(new PhabricatorMacroTransaction())
26 PhabricatorMacroDisabledTransaction
::TRANSACTIONTYPE
)
27 ->setNewValue($macro->getIsDisabled() ?
0 : 1);
29 $editor = id(new PhabricatorMacroEditor())
31 ->setContentSourceFromRequest($request);
33 $xactions = $editor->applyTransactions($macro, array($xaction));
35 return id(new AphrontRedirectResponse())->setURI($view_uri);
38 $dialog = new AphrontDialogView();
40 ->setUser($request->getUser())
41 ->setTitle(pht('Really disable macro?'))
47 'Really disable the much-beloved image macro %s? '.
48 'It will be sorely missed.',
50 ->setSubmitURI($this->getApplicationURI('/disable/'.$id.'/'))
51 ->addSubmitButton(pht('Disable'))
52 ->addCancelButton($view_uri);
54 return id(new AphrontDialogResponse())->setDialog($dialog);