[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

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

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


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