[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/fund/controller/ -> FundInitiativeListController.php (source)

   1  <?php
   2  
   3  final class FundInitiativeListController
   4    extends FundController {
   5  
   6    private $queryKey;
   7  
   8    public function shouldAllowPublic() {
   9      return true;
  10    }
  11  
  12    public function willProcessRequest(array $data) {
  13      $this->queryKey = idx($data, 'queryKey');
  14    }
  15  
  16    public function processRequest() {
  17      $controller = id(new PhabricatorApplicationSearchController())
  18        ->setQueryKey($this->queryKey)
  19        ->setSearchEngine(new FundInitiativeSearchEngine())
  20        ->setNavigation($this->buildSideNavView());
  21  
  22      return $this->delegateToController($controller);
  23    }
  24  
  25    public function buildSideNavView() {
  26      $user = $this->getRequest()->getUser();
  27  
  28      $nav = new AphrontSideNavFilterView();
  29      $nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
  30  
  31      id(new FundInitiativeSearchEngine())
  32        ->setViewer($user)
  33        ->addNavigationItems($nav->getMenu());
  34  
  35      $nav->addLabel(pht('Backers'));
  36      $nav->addFilter('backers/', pht('Find Backers'));
  37  
  38      $nav->selectFilter(null);
  39  
  40      return $nav;
  41    }
  42  
  43    public function buildApplicationCrumbs() {
  44      $crumbs = parent::buildApplicationCrumbs();
  45  
  46      $can_create = $this->hasApplicationCapability(
  47        FundCreateInitiativesCapability::CAPABILITY);
  48  
  49      $crumbs->addAction(
  50        id(new PHUIListItemView())
  51          ->setName(pht('Create Initiative'))
  52          ->setHref($this->getApplicationURI('create/'))
  53          ->setIcon('fa-plus-square')
  54          ->setDisabled(!$can_create)
  55          ->setWorkflow(!$can_create));
  56  
  57      return $crumbs;
  58    }
  59  
  60  }


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