3 final class PhabricatorAuthInviteSearchEngine
4 extends PhabricatorApplicationSearchEngine
{
6 public function getResultTypeDescription() {
7 return pht('Auth Email Invites');
10 public function getApplicationClassName() {
11 return 'PhabricatorAuthApplication';
14 public function canUseInPanelContext() {
18 public function buildSavedQueryFromRequest(AphrontRequest
$request) {
19 $saved = new PhabricatorSavedQuery();
24 public function buildQueryFromSavedQuery(PhabricatorSavedQuery
$saved) {
25 $query = id(new PhabricatorAuthInviteQuery());
30 public function buildSearchForm(
31 AphrontFormView
$form,
32 PhabricatorSavedQuery
$saved) {}
34 protected function getURI($path) {
35 return '/people/invite/'.$path;
38 protected function getBuiltinQueryNames() {
46 public function buildSavedQueryFromBuiltin($query_key) {
47 $query = $this->newSavedQuery();
48 $query->setQueryKey($query_key);
55 return parent
::buildSavedQueryFromBuiltin($query_key);
58 protected function getRequiredHandlePHIDsForResultList(
60 PhabricatorSavedQuery
$query) {
63 foreach ($invites as $invite) {
64 $phids[$invite->getAuthorPHID()] = true;
65 if ($invite->getAcceptedByPHID()) {
66 $phids[$invite->getAcceptedByPHID()] = true;
70 return array_keys($phids);
73 protected function renderResultList(
75 PhabricatorSavedQuery
$query,
77 assert_instances_of($invites, 'PhabricatorAuthInvite');
79 $viewer = $this->requireViewer();
82 foreach ($invites as $invite) {
84 $invite->getEmailAddress(),
85 $handles[$invite->getAuthorPHID()]->renderLink(),
86 ($invite->getAcceptedByPHID()
87 ?
$handles[$invite->getAcceptedByPHID()]->renderLink()
89 phabricator_datetime($invite->getDateCreated(), $viewer),
93 $table = id(new AphrontTableView($rows))
109 $result = new PhabricatorApplicationSearchResultView();
110 $result->setTable($table);