Page MenuHomePhabricator

D13227.diff
No OneTemporary

D13227.diff

diff --git a/src/applications/search/engine/PhabricatorApplicationSearchEngine.php b/src/applications/search/engine/PhabricatorApplicationSearchEngine.php
--- a/src/applications/search/engine/PhabricatorApplicationSearchEngine.php
+++ b/src/applications/search/engine/PhabricatorApplicationSearchEngine.php
@@ -269,6 +269,7 @@
$fields[] = id(new PhabricatorSearchOrderField())
->setLabel(pht('Order By'))
->setKey('order')
+ ->setOrderAliases($query->getBuiltinOrderAliasMap())
->setOptions($orders);
}
diff --git a/src/applications/search/field/PhabricatorSearchOrderField.php b/src/applications/search/field/PhabricatorSearchOrderField.php
--- a/src/applications/search/field/PhabricatorSearchOrderField.php
+++ b/src/applications/search/field/PhabricatorSearchOrderField.php
@@ -4,6 +4,16 @@
extends PhabricatorSearchField {
private $options;
+ private $orderAliases;
+
+ public function setOrderAliases(array $order_aliases) {
+ $this->orderAliases = $order_aliases;
+ return $this;
+ }
+
+ public function getOrderAliases() {
+ return $this->orderAliases;
+ }
public function setOptions(array $options) {
$this->options = $options;
@@ -22,6 +32,16 @@
return $request->getStr($key);
}
+ protected function getValueForControl() {
+ // If the SavedQuery has an alias for an order, map it to the canonical
+ // name for the order so the correct option is selected in the dropdown.
+ $value = parent::getValueForControl();
+ if (isset($this->orderAliases[$value])) {
+ $value = $this->orderAliases[$value];
+ }
+ return $value;
+ }
+
protected function newControl() {
return id(new AphrontFormSelectControl())
->setOptions($this->getOptions());

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 17, 8:25 PM (1 w, 1 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7708827
Default Alt Text
D13227.diff (1 KB)

Event Timeline