Path: blob/master/src/applications/auth/query/PhabricatorAuthInviteSearchEngine.php
12256 views
<?php12final class PhabricatorAuthInviteSearchEngine3extends PhabricatorApplicationSearchEngine {45public function getResultTypeDescription() {6return pht('Auth Email Invites');7}89public function getApplicationClassName() {10return 'PhabricatorAuthApplication';11}1213public function canUseInPanelContext() {14return false;15}1617public function buildSavedQueryFromRequest(AphrontRequest $request) {18$saved = new PhabricatorSavedQuery();1920return $saved;21}2223public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) {24$query = id(new PhabricatorAuthInviteQuery());2526return $query;27}2829public function buildSearchForm(30AphrontFormView $form,31PhabricatorSavedQuery $saved) {}3233protected function getURI($path) {34return '/people/invite/'.$path;35}3637protected function getBuiltinQueryNames() {38$names = array(39'all' => pht('All'),40);4142return $names;43}4445public function buildSavedQueryFromBuiltin($query_key) {46$query = $this->newSavedQuery();47$query->setQueryKey($query_key);4849switch ($query_key) {50case 'all':51return $query;52}5354return parent::buildSavedQueryFromBuiltin($query_key);55}5657protected function getRequiredHandlePHIDsForResultList(58array $invites,59PhabricatorSavedQuery $query) {6061$phids = array();62foreach ($invites as $invite) {63$phids[$invite->getAuthorPHID()] = true;64if ($invite->getAcceptedByPHID()) {65$phids[$invite->getAcceptedByPHID()] = true;66}67}6869return array_keys($phids);70}7172protected function renderResultList(73array $invites,74PhabricatorSavedQuery $query,75array $handles) {76assert_instances_of($invites, 'PhabricatorAuthInvite');7778$viewer = $this->requireViewer();7980$rows = array();81foreach ($invites as $invite) {82$rows[] = array(83$invite->getEmailAddress(),84$handles[$invite->getAuthorPHID()]->renderLink(),85($invite->getAcceptedByPHID()86? $handles[$invite->getAcceptedByPHID()]->renderLink()87: null),88phabricator_datetime($invite->getDateCreated(), $viewer),89);90}9192$table = id(new AphrontTableView($rows))93->setHeaders(94array(95pht('Email Address'),96pht('Sent By'),97pht('Accepted By'),98pht('Invited'),99))100->setColumnClasses(101array(102'',103'',104'wide',105'right',106));107108$result = new PhabricatorApplicationSearchResultView();109$result->setTable($table);110111return $result;112}113}114115116