Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/nuance/query/NuanceQueueSearchEngine.php
12256 views
1
<?php
2
3
final class NuanceQueueSearchEngine
4
extends PhabricatorApplicationSearchEngine {
5
6
public function getApplicationClassName() {
7
return 'PhabricatorNuanceApplication';
8
}
9
10
public function getResultTypeDescription() {
11
return pht('Nuance Queues');
12
}
13
14
public function newQuery() {
15
return new NuanceQueueQuery();
16
}
17
18
protected function buildQueryFromParameters(array $map) {
19
$query = $this->newQuery();
20
21
return $query;
22
}
23
24
protected function buildCustomSearchFields() {
25
return array();
26
}
27
28
protected function getURI($path) {
29
return '/nuance/queue/'.$path;
30
}
31
32
protected function getBuiltinQueryNames() {
33
$names = array(
34
'all' => pht('All Queues'),
35
);
36
37
return $names;
38
}
39
40
public function buildSavedQueryFromBuiltin($query_key) {
41
$query = $this->newSavedQuery();
42
$query->setQueryKey($query_key);
43
44
switch ($query_key) {
45
case 'all':
46
return $query;
47
}
48
49
return parent::buildSavedQueryFromBuiltin($query_key);
50
}
51
52
protected function renderResultList(
53
array $queues,
54
PhabricatorSavedQuery $query,
55
array $handles) {
56
assert_instances_of($queues, 'NuanceQueue');
57
58
$viewer = $this->requireViewer();
59
60
$list = new PHUIObjectItemListView();
61
$list->setUser($viewer);
62
foreach ($queues as $queue) {
63
$item = id(new PHUIObjectItemView())
64
->setObjectName(pht('Queue %d', $queue->getID()))
65
->setHeader($queue->getName())
66
->setHref($queue->getURI());
67
$list->addItem($item);
68
}
69
70
$result = new PhabricatorApplicationSearchResultView();
71
$result->setObjectList($list);
72
$result->setNoDataString(pht('No queues found.'));
73
74
return $result;
75
}
76
77
}
78
79