@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
1<?php
2
3final class PhabricatorPeopleInviteListController
4 extends PhabricatorPeopleInviteController {
5
6 public function handleRequest(AphrontRequest $request) {
7 $this->requireApplicationCapability(
8 PeopleCreateUsersCapability::CAPABILITY);
9
10 $controller = id(new PhabricatorApplicationSearchController())
11 ->setQueryKey($request->getURIData('queryKey'))
12 ->setSearchEngine(new PhabricatorAuthInviteSearchEngine())
13 ->setNavigation($this->buildSideNavView());
14
15 return $this->delegateToController($controller);
16 }
17
18 public function buildSideNavView($for_app = false) {
19 $nav = new AphrontSideNavFilterView();
20 $nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
21
22 $viewer = $this->getRequest()->getUser();
23
24 id(new PhabricatorAuthInviteSearchEngine())
25 ->setViewer($viewer)
26 ->addNavigationItems($nav->getMenu());
27
28 return $nav;
29 }
30
31 protected function buildApplicationCrumbs() {
32 $crumbs = parent::buildApplicationCrumbs();
33
34 $can_invite = $this->hasApplicationCapability(
35 PeopleCreateUsersCapability::CAPABILITY);
36 $crumbs->addAction(
37 id(new PHUIListItemView())
38 ->setName(pht('Invite Users'))
39 ->setHref($this->getApplicationURI('invite/send/'))
40 ->setIcon('fa-plus-square')
41 ->setDisabled(!$can_invite)
42 ->setWorkflow(!$can_invite));
43
44 return $crumbs;
45 }
46
47}