Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/owners/typeahead/PhabricatorOwnersPackageDatasource.php b/src/applications/owners/typeahead/PhabricatorOwnersPackageDatasource.php
index 41d5d6823a..720b4cc2ef 100644
--- a/src/applications/owners/typeahead/PhabricatorOwnersPackageDatasource.php
+++ b/src/applications/owners/typeahead/PhabricatorOwnersPackageDatasource.php
@@ -1,42 +1,51 @@
<?php
final class PhabricatorOwnersPackageDatasource
extends PhabricatorTypeaheadDatasource {
public function getBrowseTitle() {
return pht('Browse Packages');
}
public function getPlaceholderText() {
return pht('Type a package name...');
}
public function getDatasourceApplicationClass() {
return 'PhabricatorOwnersApplication';
}
public function loadResults() {
$viewer = $this->getViewer();
$raw_query = $this->getRawQuery();
$results = array();
$query = id(new PhabricatorOwnersPackageQuery())
- ->withNameNgrams($raw_query)
->setOrder('name');
+ // If the user is querying by monogram explicitly, like "O123", do an ID
+ // search. Otherwise, do an ngram substring search.
+ if (preg_match('/^[oO]\d+\z/', $raw_query)) {
+ $id = trim($raw_query, 'oO');
+ $id = (int)$id;
+ $query->withIDs(array($id));
+ } else {
+ $query->withNameNgrams($raw_query);
+ }
+
$packages = $this->executeQuery($query);
foreach ($packages as $package) {
$name = $package->getName();
$monogram = $package->getMonogram();
$results[] = id(new PhabricatorTypeaheadResult())
->setName("{$monogram}: {$name}")
->setURI($package->getURI())
->setPHID($package->getPHID());
}
return $this->filterResultsAgainstTokens($results);
}
}

File Metadata

Mime Type
text/x-diff
Expires
Sun, Mar 16, 4:12 PM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
72158
Default Alt Text
(1 KB)

Event Timeline