@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
at recaptime-dev/main 59 lines 1.7 kB view raw
1<?php 2 3final class PhabricatorEditEngineConfigurationDisableController 4 extends PhabricatorEditEngineController { 5 6 public function handleRequest(AphrontRequest $request) { 7 $viewer = $this->getViewer(); 8 9 $config = $this->loadConfigForEdit(); 10 if (!$config) { 11 return id(new Aphront404Response()); 12 } 13 14 $engine_key = $config->getEngineKey(); 15 $key = $config->getIdentifier(); 16 $cancel_uri = "/transactions/editengine/{$engine_key}/view/{$key}/"; 17 18 $type = PhabricatorEditEngineDisableTransaction::TRANSACTIONTYPE; 19 20 if ($request->isFormPost()) { 21 $xactions = array(); 22 23 $xactions[] = id(new PhabricatorEditEngineConfigurationTransaction()) 24 ->setTransactionType($type) 25 ->setNewValue(!$config->getIsDisabled()); 26 27 $editor = id(new PhabricatorEditEngineConfigurationEditor()) 28 ->setActor($viewer) 29 ->setContentSourceFromRequest($request) 30 ->setContinueOnMissingFields(true) 31 ->setContinueOnNoEffect(true); 32 33 $editor->applyTransactions($config, $xactions); 34 35 return id(new AphrontRedirectResponse()) 36 ->setURI($cancel_uri); 37 } 38 39 if ($config->getIsDisabled()) { 40 $title = pht('Enable Form'); 41 $body = pht( 42 'Enable this form? Users who can see it will be able to use it to '. 43 'create objects.'); 44 $button = pht('Enable Form'); 45 } else { 46 $title = pht('Disable Form'); 47 $body = pht( 48 'Disable this form? Users will no longer be able to use it.'); 49 $button = pht('Disable Form'); 50 } 51 52 return $this->newDialog() 53 ->setTitle($title) 54 ->appendParagraph($body) 55 ->addSubmitButton($button) 56 ->addCancelbutton($cancel_uri); 57 } 58 59}