3 final class PhabricatorOAuthServerClientSearchEngine
4 extends PhabricatorApplicationSearchEngine
{
6 public function getResultTypeDescription() {
7 return pht('OAuth Clients');
10 public function getApplicationClassName() {
11 return 'PhabricatorOAuthServerApplication';
14 public function canUseInPanelContext() {
18 public function newQuery() {
19 return id(new PhabricatorOAuthServerClientQuery());
22 protected function buildQueryFromParameters(array $map) {
23 $query = $this->newQuery();
25 if ($map['creatorPHIDs']) {
26 $query->withCreatorPHIDs($map['creatorPHIDs']);
32 protected function buildCustomSearchFields() {
34 id(new PhabricatorUsersSearchField())
35 ->setAliases(array('creators'))
36 ->setKey('creatorPHIDs')
37 ->setConduitKey('creators')
38 ->setLabel(pht('Creators'))
40 pht('Search for applications created by particular users.')),
44 protected function getURI($path) {
45 return '/oauthserver/'.$path;
48 protected function getBuiltinQueryNames() {
51 if ($this->requireViewer()->isLoggedIn()) {
52 $names['created'] = pht('Created');
55 $names['all'] = pht('All Applications');
60 public function buildSavedQueryFromBuiltin($query_key) {
61 $query = $this->newSavedQuery();
62 $query->setQueryKey($query_key);
68 return $query->setParameter(
70 array($this->requireViewer()->getPHID()));
73 return parent
::buildSavedQueryFromBuiltin($query_key);
76 protected function renderResultList(
78 PhabricatorSavedQuery
$query,
80 assert_instances_of($clients, 'PhabricatorOAuthServerClient');
82 $viewer = $this->requireViewer();
84 $list = id(new PHUIObjectItemListView())
86 foreach ($clients as $client) {
87 $item = id(new PHUIObjectItemView())
88 ->setObjectName(pht('Application %d', $client->getID()))
89 ->setHeader($client->getName())
90 ->setHref($client->getViewURI())
93 if ($client->getIsDisabled()) {
94 $item->setDisabled(true);
97 $list->addItem($item);
100 $result = new PhabricatorApplicationSearchResultView();
101 $result->setObjectList($list);
102 $result->setNoDataString(pht('No clients found.'));