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
72 lines
1.5 KiB
PHP
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;
|
|
}
|
|
|
|
}
|