Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/fund/controller/FundInitiativeListController.php
12256 views
1
<?php
2
3
final class FundInitiativeListController
4
extends FundController {
5
6
public function shouldAllowPublic() {
7
return true;
8
}
9
10
public function handleRequest(AphrontRequest $request) {
11
$querykey = $request->getURIData('queryKey');
12
13
$controller = id(new PhabricatorApplicationSearchController())
14
->setQueryKey($querykey)
15
->setSearchEngine(new FundInitiativeSearchEngine())
16
->setNavigation($this->buildSideNavView());
17
18
return $this->delegateToController($controller);
19
}
20
21
public function buildSideNavView() {
22
$viewer = $this->getViewer();
23
24
$nav = new AphrontSideNavFilterView();
25
$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
26
27
id(new FundInitiativeSearchEngine())
28
->setViewer($viewer)
29
->addNavigationItems($nav->getMenu());
30
31
$nav->addLabel(pht('Backers'));
32
$nav->addFilter('backers/', pht('Find Backers'));
33
34
$nav->selectFilter(null);
35
36
return $nav;
37
}
38
39
protected function buildApplicationCrumbs() {
40
$crumbs = parent::buildApplicationCrumbs();
41
42
$can_create = $this->hasApplicationCapability(
43
FundCreateInitiativesCapability::CAPABILITY);
44
45
$crumbs->addAction(
46
id(new PHUIListItemView())
47
->setName(pht('Create Initiative'))
48
->setHref($this->getApplicationURI('create/'))
49
->setIcon('fa-plus-square')
50
->setDisabled(!$can_create)
51
->setWorkflow(!$can_create));
52
53
return $crumbs;
54
}
55
56
}
57
58