[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/diffusion/controller/ -> DiffusionRepositoryEditActivateController.php (source)

   1  <?php
   2  
   3  final class DiffusionRepositoryEditActivateController
   4    extends DiffusionRepositoryEditController {
   5  
   6    public function processRequest() {
   7      $request = $this->getRequest();
   8      $viewer = $request->getUser();
   9      $drequest = $this->diffusionRequest;
  10      $repository = $drequest->getRepository();
  11  
  12      $repository = id(new PhabricatorRepositoryQuery())
  13        ->setViewer($viewer)
  14        ->requireCapabilities(
  15          array(
  16            PhabricatorPolicyCapability::CAN_VIEW,
  17            PhabricatorPolicyCapability::CAN_EDIT,
  18          ))
  19        ->withIDs(array($repository->getID()))
  20        ->executeOne();
  21  
  22      if (!$repository) {
  23        return new Aphront404Response();
  24      }
  25  
  26      $edit_uri = $this->getRepositoryControllerURI($repository, 'edit/');
  27  
  28      if ($request->isFormPost()) {
  29        $xaction = id(new PhabricatorRepositoryTransaction())
  30          ->setTransactionType(PhabricatorRepositoryTransaction::TYPE_ACTIVATE)
  31          ->setNewValue(!$repository->isTracked());
  32  
  33        $editor = id(new PhabricatorRepositoryEditor())
  34          ->setContinueOnNoEffect(true)
  35          ->setContentSourceFromRequest($request)
  36          ->setActor($viewer)
  37          ->applyTransactions($repository, array($xaction));
  38  
  39        return id(new AphrontReloadResponse())->setURI($edit_uri);
  40      }
  41  
  42      $dialog = id(new AphrontDialogView())
  43        ->setUser($viewer);
  44  
  45      if ($repository->isTracked()) {
  46        $dialog
  47          ->setTitle(pht('Deactivate Repository?'))
  48          ->appendChild(
  49            pht('Deactivate this repository?'))
  50          ->addSubmitButton(pht('Deactivate Repository'))
  51          ->addCancelButton($edit_uri);
  52      } else {
  53        $dialog
  54          ->setTitle(pht('Activate Repository?'))
  55          ->appendChild(
  56            pht('Activate this repository?'))
  57          ->addSubmitButton(pht('Activate Repository'))
  58          ->addCancelButton($edit_uri);
  59      }
  60  
  61      return id(new AphrontDialogResponse())
  62        ->setDialog($dialog);
  63    }
  64  
  65  
  66  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1