Files
phabricator/src/applications/phrequent/application/PhabricatorPhrequentApplication.php
Bob Trahan 2b99b4add8 Home - limit "status" queries to 100 and show 99+ if we hit that
Summary: Fixes T6595. This diff has two issues as is... 1) the differential data fetching is pretty cheesey, but it looks like we can't just issue three separate databases to get the right data? 2) the translations break, since I am turning this into a string (and not an int) so the whole pluralization bit fails. I think 1 is okay as is and 2 needs to be fixed though I am not sure how to best do that...

Test Plan: loaded home page and it looked nice...!

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T6595

Differential Revision: https://secure.phabricator.com/D10979
2014-12-12 12:02:25 -08:00

72 lines
1.5 KiB
PHP

<?php
final class PhabricatorPhrequentApplication extends PhabricatorApplication {
public function getName() {
return pht('Phrequent');
}
public function getShortDescription() {
return pht('Track Time Spent');
}
public function getBaseURI() {
return '/phrequent/';
}
public function isPrototype() {
return true;
}
public function getIconName() {
return 'phrequent';
}
public function getApplicationGroup() {
return self::GROUP_UTILITIES;
}
public function getApplicationOrder() {
return 0.110;
}
public function getEventListeners() {
return array(
new PhrequentUIEventListener(),
);
}
public function getRoutes() {
return array(
'/phrequent/' => array(
'(?:query/(?P<queryKey>[^/]+)/)?' => 'PhrequentListController',
'track/(?P<verb>[a-z]+)/(?P<phid>[^/]+)/'
=> 'PhrequentTrackController',
),
);
}
public function loadStatus(PhabricatorUser $user) {
$status = array();
// Show number of objects that are currently
// being tracked for a user.
$count = PhrequentUserTimeQuery::getUserTotalObjectsTracked(
$user,
self::MAX_STATUS_ITEMS);
$count_str = self::formatStatusCount(
$count,
'%s Objects Tracked',
'%d Object(s) Tracked');
$type = PhabricatorApplicationStatusView::TYPE_NEEDS_ATTENTION;
$status[] = id(new PhabricatorApplicationStatusView())
->setType($type)
->setText($count_str)
->setCount($count);
return $status;
}
}