Provide bucketing for commits in Audit
Summary:
Fixes T9430. Fixes T9362. Fixes T9544. This changes the default view of Audit to work like Differential, where commits you need to audit or respond to are shown in buckets.
This is a bit messy and probably needs some followups. This stuff has changed from a compatibility viewpoint:
- The query works differently now (but in a better, modern way), so existing saved queries will need to be updated.
- I've removed the counters from the home page instead of updating them, since they're going to get wiped out by ProfileMenu soon anyway.
- When bucketed queries return too many results (more than 1,000) we now show a warning about it. This isn't greaaaat but it seems good enough for now.
Test Plan: {F2351123}
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T9430, T9362, T9544
Differential Revision: https://secure.phabricator.com/D17192
This commit is contained in:
@@ -239,6 +239,10 @@ final class PhabricatorApplicationSearchController
|
||||
$nux_view = null;
|
||||
}
|
||||
|
||||
$is_overflowing =
|
||||
$pager->willShowPagingControls() &&
|
||||
$engine->getResultBucket($saved_query);
|
||||
|
||||
$force_overheated = $request->getBool('overheated');
|
||||
$is_overheated = $query->getIsOverheated() || $force_overheated;
|
||||
|
||||
@@ -265,6 +269,11 @@ final class PhabricatorApplicationSearchController
|
||||
if ($list->getInfoView()) {
|
||||
$box->setInfoView($list->getInfoView());
|
||||
}
|
||||
|
||||
if ($is_overflowing) {
|
||||
$box->appendChild($this->newOverflowingView());
|
||||
}
|
||||
|
||||
if ($list->getContent()) {
|
||||
$box->appendChild($list->getContent());
|
||||
}
|
||||
@@ -545,6 +554,22 @@ final class PhabricatorApplicationSearchController
|
||||
->setDropdownMenu($action_list);
|
||||
}
|
||||
|
||||
private function newOverflowingView() {
|
||||
$message = pht(
|
||||
'The query matched more than one page of results. Results are '.
|
||||
'paginated before bucketing, so later pages may contain additional '.
|
||||
'results in any bucket.');
|
||||
|
||||
return id(new PHUIInfoView())
|
||||
->setSeverity(PHUIInfoView::SEVERITY_WARNING)
|
||||
->setFlush(true)
|
||||
->setTitle(pht('Buckets Overflowing'))
|
||||
->setErrors(
|
||||
array(
|
||||
$message,
|
||||
));
|
||||
}
|
||||
|
||||
private function newOverheatedView(array $results) {
|
||||
if ($results) {
|
||||
$message = pht(
|
||||
|
||||
Reference in New Issue
Block a user