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