mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-27 17:22:42 +01:00
Add application search for Paste status
Summary: Fixes T9076. This adds the ability to search for active, archived, or all Pastes. Test Plan: Search for active, archived, all Pastes. Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T9076 Differential Revision: https://secure.phabricator.com/D13809
This commit is contained in:
parent
da1e711abb
commit
3d1783b2da
2 changed files with 35 additions and 0 deletions
|
@ -14,6 +14,8 @@ final class PhabricatorPasteQuery
|
||||||
private $includeNoLanguage;
|
private $includeNoLanguage;
|
||||||
private $dateCreatedAfter;
|
private $dateCreatedAfter;
|
||||||
private $dateCreatedBefore;
|
private $dateCreatedBefore;
|
||||||
|
private $statuses;
|
||||||
|
|
||||||
|
|
||||||
public function withIDs(array $ids) {
|
public function withIDs(array $ids) {
|
||||||
$this->ids = $ids;
|
$this->ids = $ids;
|
||||||
|
@ -67,6 +69,11 @@ final class PhabricatorPasteQuery
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function withStatuses(array $statuses) {
|
||||||
|
$this->statuses = $statuses;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function newResultObject() {
|
public function newResultObject() {
|
||||||
return new PhabricatorPaste();
|
return new PhabricatorPaste();
|
||||||
}
|
}
|
||||||
|
@ -139,6 +146,13 @@ final class PhabricatorPasteQuery
|
||||||
$this->dateCreatedBefore);
|
$this->dateCreatedBefore);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($this->statuses !== null) {
|
||||||
|
$where[] = qsprintf(
|
||||||
|
$conn,
|
||||||
|
'status IN (%Ls)',
|
||||||
|
$this->statuses);
|
||||||
|
}
|
||||||
|
|
||||||
return $where;
|
return $where;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,10 @@ final class PhabricatorPasteSearchEngine
|
||||||
$query->withDateCreatedBefore($map['createdEnd']);
|
$query->withDateCreatedBefore($map['createdEnd']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($map['statuses']) {
|
||||||
|
$query->withStatuses($map['statuses']);
|
||||||
|
}
|
||||||
|
|
||||||
return $query;
|
return $query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,6 +57,12 @@ final class PhabricatorPasteSearchEngine
|
||||||
id(new PhabricatorSearchDateField())
|
id(new PhabricatorSearchDateField())
|
||||||
->setKey('createdEnd')
|
->setKey('createdEnd')
|
||||||
->setLabel(pht('Created Before')),
|
->setLabel(pht('Created Before')),
|
||||||
|
id(new PhabricatorSearchCheckboxesField())
|
||||||
|
->setKey('statuses')
|
||||||
|
->setLabel(pht('Status'))
|
||||||
|
->setOptions(
|
||||||
|
id(new PhabricatorPaste())
|
||||||
|
->getStatusNameMap()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,6 +80,7 @@ final class PhabricatorPasteSearchEngine
|
||||||
|
|
||||||
protected function getBuiltinQueryNames() {
|
protected function getBuiltinQueryNames() {
|
||||||
$names = array(
|
$names = array(
|
||||||
|
'active' => pht('Active Pastes'),
|
||||||
'all' => pht('All Pastes'),
|
'all' => pht('All Pastes'),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -86,6 +97,12 @@ final class PhabricatorPasteSearchEngine
|
||||||
$query->setQueryKey($query_key);
|
$query->setQueryKey($query_key);
|
||||||
|
|
||||||
switch ($query_key) {
|
switch ($query_key) {
|
||||||
|
case 'active':
|
||||||
|
return $query->setParameter(
|
||||||
|
'statuses',
|
||||||
|
array(
|
||||||
|
PhabricatorPaste::STATUS_ACTIVE,
|
||||||
|
));
|
||||||
case 'all':
|
case 'all':
|
||||||
return $query;
|
return $query;
|
||||||
case 'authored':
|
case 'authored':
|
||||||
|
@ -151,6 +168,10 @@ final class PhabricatorPasteSearchEngine
|
||||||
->addIcon('none', $line_count)
|
->addIcon('none', $line_count)
|
||||||
->appendChild($source_code);
|
->appendChild($source_code);
|
||||||
|
|
||||||
|
if ($paste->isArchived()) {
|
||||||
|
$item->setDisabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
$lang_name = $paste->getLanguage();
|
$lang_name = $paste->getLanguage();
|
||||||
if ($lang_name) {
|
if ($lang_name) {
|
||||||
$lang_name = idx($lang_map, $lang_name, $lang_name);
|
$lang_name = idx($lang_map, $lang_name, $lang_name);
|
||||||
|
|
Loading…
Reference in a new issue