3
final class PassphraseCredentialSearchEngine
4
extends PhabricatorApplicationSearchEngine {
6
public function getResultTypeDescription() {
7
return pht('Passphrase Credentials');
10
public function getApplicationClassName() {
11
return 'PhabricatorPassphraseApplication';
14
public function buildSavedQueryFromRequest(AphrontRequest $request) {
15
$saved = new PhabricatorSavedQuery();
19
$this->readBoolFromRequest($request, 'isDestroyed'));
24
public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) {
25
$query = id(new PassphraseCredentialQuery());
27
$destroyed = $saved->getParameter('isDestroyed');
28
if ($destroyed !== null) {
29
$query->withIsDestroyed($destroyed);
35
public function buildSearchForm(
36
AphrontFormView $form,
37
PhabricatorSavedQuery $saved_query) {
40
id(new AphrontFormSelectControl())
41
->setName('isDestroyed')
42
->setLabel(pht('Status'))
43
->setValue($this->getBoolFromQuery($saved_query, 'isDestroyed'))
46
'' => pht('Show All Credentials'),
47
'false' => pht('Show Only Active Credentials'),
48
'true' => pht('Show Only Destroyed Credentials'),
52
protected function getURI($path) {
53
return '/passphrase/'.$path;
56
public function getBuiltinQueryNames() {
58
'active' => pht('Active Credentials'),
59
'all' => pht('All Credentials'),
63
public function buildSavedQueryFromBuiltin($query_key) {
64
$query = $this->newSavedQuery();
65
$query->setQueryKey($query_key);
71
return $query->setParameter('isDestroyed', false);
74
return parent::buildSavedQueryFromBuiltin($query_key);
77
protected function renderResultList(
79
PhabricatorSavedQuery $query,
81
assert_instances_of($credentials, 'PassphraseCredential');
83
$viewer = $this->requireViewer();
85
$list = new PHUIObjectItemListView();
86
$list->setUser($viewer);
87
foreach ($credentials as $credential) {
89
$item = id(new PHUIObjectItemView())
90
->setObjectName('K'.$credential->getID())
91
->setHeader($credential->getName())
92
->setHref('/K'.$credential->getID())
93
->setObject($credential);
96
pht('Login: %s', $credential->getUsername()));
98
if ($credential->getIsDestroyed()) {
99
$item->addIcon('fa-ban', pht('Destroyed'));
100
$item->setDisabled(true);
103
$type = PassphraseCredentialType::getTypeByConstant(
104
$credential->getCredentialType());
106
$item->addIcon('fa-wrench', $type->getCredentialTypeName());
109
$list->addItem($item);