diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -1830,7 +1830,6 @@ 'PhabricatorApplicationSearchEngine' => 'applications/search/engine/PhabricatorApplicationSearchEngine.php', 'PhabricatorApplicationSearchEngineTestCase' => 'applications/search/engine/__tests__/PhabricatorApplicationSearchEngineTestCase.php', 'PhabricatorApplicationSearchResultView' => 'applications/search/view/PhabricatorApplicationSearchResultView.php', - 'PhabricatorApplicationStatusView' => 'applications/meta/view/PhabricatorApplicationStatusView.php', 'PhabricatorApplicationTestCase' => 'applications/base/__tests__/PhabricatorApplicationTestCase.php', 'PhabricatorApplicationTransaction' => 'applications/transactions/storage/PhabricatorApplicationTransaction.php', 'PhabricatorApplicationTransactionComment' => 'applications/transactions/storage/PhabricatorApplicationTransactionComment.php', @@ -6712,7 +6711,6 @@ 'PhabricatorApplicationSearchEngine' => 'Phobject', 'PhabricatorApplicationSearchEngineTestCase' => 'PhabricatorTestCase', 'PhabricatorApplicationSearchResultView' => 'Phobject', - 'PhabricatorApplicationStatusView' => 'AphrontView', 'PhabricatorApplicationTestCase' => 'PhabricatorTestCase', 'PhabricatorApplicationTransaction' => array( 'PhabricatorLiskDAO', diff --git a/src/applications/base/PhabricatorApplication.php b/src/applications/base/PhabricatorApplication.php --- a/src/applications/base/PhabricatorApplication.php +++ b/src/applications/base/PhabricatorApplication.php @@ -12,8 +12,6 @@ extends Phobject implements PhabricatorPolicyInterface { - const MAX_STATUS_ITEMS = 100; - const GROUP_CORE = 'core'; const GROUP_UTILITIES = 'util'; const GROUP_ADMIN = 'admin'; @@ -273,20 +271,6 @@ /** - * Render status elements (like "3 Waiting Reviews") for application list - * views. These provide a way to alert users to new or pending action items - * in applications. - * - * @param PhabricatorUser Viewing user. - * @return list Application status elements. - * @task ui - */ - public function loadStatus(PhabricatorUser $user) { - return array(); - } - - - /** * You can provide an optional piece of flavor text for the application. This * is currently rendered in application launch views if the application has no * status elements. diff --git a/src/applications/differential/application/PhabricatorDifferentialApplication.php b/src/applications/differential/application/PhabricatorDifferentialApplication.php --- a/src/applications/differential/application/PhabricatorDifferentialApplication.php +++ b/src/applications/differential/application/PhabricatorDifferentialApplication.php @@ -103,82 +103,6 @@ ); } - public static function loadNeedAttentionRevisions(PhabricatorUser $viewer) { - if (!$viewer->isLoggedIn()) { - return array(); - } - - $viewer_phid = $viewer->getPHID(); - - $responsible_phids = id(new DifferentialResponsibleDatasource()) - ->setViewer($viewer) - ->evaluateTokens(array($viewer_phid)); - - $revision_query = id(new DifferentialRevisionQuery()) - ->setViewer($viewer) - ->withStatus(DifferentialRevisionQuery::STATUS_OPEN) - ->withResponsibleUsers($responsible_phids) - ->needReviewerStatus(true) - ->needRelationships(true) - ->needFlags(true) - ->needDrafts(true) - ->setLimit(self::MAX_STATUS_ITEMS); - - $revisions = $revision_query->execute(); - - $query = id(new PhabricatorSavedQuery()) - ->attachParameterMap( - array( - 'responsiblePHIDs' => $responsible_phids, - )); - - $groups = id(new DifferentialRevisionRequiredActionResultBucket()) - ->setViewer($viewer) - ->newResultGroups($query, $revisions); - - $include = array(); - foreach ($groups as $group) { - switch ($group->getKey()) { - case DifferentialRevisionRequiredActionResultBucket::KEY_MUSTREVIEW: - case DifferentialRevisionRequiredActionResultBucket::KEY_SHOULDREVIEW: - foreach ($group->getObjects() as $object) { - $include[] = $object; - } - break; - default: - break; - } - } - - return $include; - } - - public function loadStatus(PhabricatorUser $user) { - $revisions = self::loadNeedAttentionRevisions($user); - $limit = self::MAX_STATUS_ITEMS; - - if (count($revisions) >= $limit) { - $display_count = ($limit - 1); - $display_label = pht( - '%s+ Active Review(s)', - new PhutilNumber($display_count)); - } else { - $display_count = count($revisions); - $display_label = pht( - '%s Review(s) Need Attention', - new PhutilNumber($display_count)); - } - - $status = array(); - - $status[] = id(new PhabricatorApplicationStatusView()) - ->setType(PhabricatorApplicationStatusView::TYPE_WARNING) - ->setText($display_label) - ->setCount($display_count); - - return $status; - } - public function supportsEmailIntegration() { return true; } diff --git a/src/applications/flag/application/PhabricatorFlagsApplication.php b/src/applications/flag/application/PhabricatorFlagsApplication.php --- a/src/applications/flag/application/PhabricatorFlagsApplication.php +++ b/src/applications/flag/application/PhabricatorFlagsApplication.php @@ -32,32 +32,6 @@ return self::GROUP_UTILITIES; } - public function loadStatus(PhabricatorUser $user) { - $status = array(); - $limit = self::MAX_STATUS_ITEMS; - - $flags = id(new PhabricatorFlagQuery()) - ->setViewer($user) - ->withOwnerPHIDs(array($user->getPHID())) - ->setLimit(self::MAX_STATUS_ITEMS) - ->execute(); - - $count = count($flags); - if ($count >= $limit) { - $count_str = pht('%s+ Flagged Object(s)', new PhutilNumber($limit - 1)); - } else { - $count_str = pht('%s Flagged Object(s)', new PhutilNumber($count)); - } - - $type = PhabricatorApplicationStatusView::TYPE_WARNING; - $status[] = id(new PhabricatorApplicationStatusView()) - ->setType($type) - ->setText($count_str) - ->setCount($count); - - return $status; - } - public function getRoutes() { return array( '/flag/' => array( diff --git a/src/applications/home/controller/PhabricatorHomeController.php b/src/applications/home/controller/PhabricatorHomeController.php --- a/src/applications/home/controller/PhabricatorHomeController.php +++ b/src/applications/home/controller/PhabricatorHomeController.php @@ -31,7 +31,6 @@ $tiles[] = id(new PhabricatorApplicationLaunchView()) ->setApplication($home_app) - ->setApplicationStatus($home_app->loadStatus($user)) ->addClass('phabricator-application-launch-phone-only') ->setUser($user); @@ -44,7 +43,6 @@ $tile = id(new PhabricatorApplicationLaunchView()) ->setApplication($application) - ->setApplicationStatus($application->loadStatus($user)) ->setUser($user); $tiles[] = $tile; diff --git a/src/applications/maniphest/application/PhabricatorManiphestApplication.php b/src/applications/maniphest/application/PhabricatorManiphestApplication.php --- a/src/applications/maniphest/application/PhabricatorManiphestApplication.php +++ b/src/applications/maniphest/application/PhabricatorManiphestApplication.php @@ -59,37 +59,6 @@ ); } - public function loadStatus(PhabricatorUser $user) { - $status = array(); - - if (!$user->isLoggedIn()) { - return $status; - } - - $limit = self::MAX_STATUS_ITEMS; - - $query = id(new ManiphestTaskQuery()) - ->setViewer($user) - ->withStatuses(ManiphestTaskStatus::getOpenStatusConstants()) - ->withOwners(array($user->getPHID())) - ->setLimit($limit); - - $count = count($query->execute()); - if ($count >= $limit) { - $count_str = pht('%s+ Assigned Task(s)', new PhutilNumber($limit - 1)); - } else { - $count_str = pht('%s Assigned Task(s)', new PhutilNumber($count)); - } - - $type = PhabricatorApplicationStatusView::TYPE_WARNING; - $status[] = id(new PhabricatorApplicationStatusView()) - ->setType($type) - ->setText($count_str) - ->setCount($count); - - return $status; - } - public function supportsEmailIntegration() { return true; } diff --git a/src/applications/meta/view/PhabricatorApplicationLaunchView.php b/src/applications/meta/view/PhabricatorApplicationLaunchView.php --- a/src/applications/meta/view/PhabricatorApplicationLaunchView.php +++ b/src/applications/meta/view/PhabricatorApplicationLaunchView.php @@ -3,18 +3,12 @@ final class PhabricatorApplicationLaunchView extends AphrontTagView { private $application; - private $status; public function setApplication(PhabricatorApplication $application) { $this->application = $application; return $this; } - public function setApplicationStatus(array $status) { - $this->status = $status; - return $this; - } - protected function getTagName() { return $this->application ? 'a' : 'div'; } @@ -49,65 +43,9 @@ ), $application->getShortDescription()); - $counts = array(); - $text = array(); - if ($this->status) { - foreach ($this->status as $status) { - $type = $status->getType(); - $counts[$type] = idx($counts, $type, 0) + $status->getCount(); - if ($status->getCount()) { - $text[] = $status->getText(); - } - } - } - - $attention = PhabricatorApplicationStatusView::TYPE_NEEDS_ATTENTION; - $warning = PhabricatorApplicationStatusView::TYPE_WARNING; - if (!empty($counts[$attention]) || !empty($counts[$warning])) { - $count = idx($counts, $attention, 0); - $count1 = $count2 = ''; - if ($count > 0) { - $count1 = phutil_tag( - 'span', - array( - 'class' => 'phabricator-application-attention-count', - ), - $this->formatStatusItemCount($count)); - } - - - if (!empty($counts[$warning])) { - $count2 = phutil_tag( - 'span', - array( - 'class' => 'phabricator-application-warning-count', - ), - $this->formatStatusItemCount($counts[$warning])); - } - - if (nonempty($count1) && nonempty($count2)) { - $numbers = array($count1, ' / ', $count2); - } else { - $numbers = array($count1, $count2); - } - - Javelin::initBehavior('phabricator-tooltips'); - $content[] = javelin_tag( - 'span', - array( - 'sigil' => 'has-tooltip', - 'meta' => array( - 'tip' => implode("\n", $text), - 'size' => 300, - 'align' => 'E', - ), - 'class' => 'phabricator-application-launch-attention', - ), - $numbers); - } - $classes = array(); $classes[] = 'phabricator-application-launch-icon'; + $styles = array(); $classes[] = $application->getIcon(); $classes[] = 'phui-icon-view'; @@ -128,13 +66,4 @@ ); } - private function formatStatusItemCount($count) { - $limit = PhabricatorApplication::MAX_STATUS_ITEMS; - if ($count >= $limit) { - return pht('%s+', new PhutilNumber($limit - 1)); - } else { - return pht('%s', new PhutilNumber($count)); - } - } - } diff --git a/src/applications/meta/view/PhabricatorApplicationStatusView.php b/src/applications/meta/view/PhabricatorApplicationStatusView.php deleted file mode 100644 --- a/src/applications/meta/view/PhabricatorApplicationStatusView.php +++ /dev/null @@ -1,61 +0,0 @@ -type = $type; - return $this; - } - - public function getType() { - return $this->type; - } - - public function setText($text) { - $this->text = $text; - return $this; - } - - public function getText() { - return $this->text; - } - - public function setCount($count) { - $this->count = $count; - return $this; - } - - public function getCount() { - return $this->count; - } - - public function render() { - $type = $this->type; - if (!$this->count) { - $type = self::TYPE_EMPTY; - } - - $classes = array( - 'phabricator-application-status', - 'phabricator-application-status-type-'.$type, - ); - - return phutil_tag( - 'span', - array( - 'class' => implode(' ', $classes), - ), - $this->text); - } - -} diff --git a/src/applications/people/application/PhabricatorPeopleApplication.php b/src/applications/people/application/PhabricatorPeopleApplication.php --- a/src/applications/people/application/PhabricatorPeopleApplication.php +++ b/src/applications/people/application/PhabricatorPeopleApplication.php @@ -92,44 +92,6 @@ ); } - public function loadStatus(PhabricatorUser $user) { - if (!$user->getIsAdmin()) { - return array(); - } - $limit = self::MAX_STATUS_ITEMS; - - $need_approval = id(new PhabricatorPeopleQuery()) - ->setViewer($user) - ->withIsApproved(false) - ->withIsDisabled(false) - ->setLimit($limit) - ->execute(); - if (!$need_approval) { - return array(); - } - - $status = array(); - - $count = count($need_approval); - if ($count >= $limit) { - $count_str = pht( - '%s+ User(s) Need Approval', - new PhutilNumber($limit - 1)); - } else { - $count_str = pht( - '%s User(s) Need Approval', - new PhutilNumber($count)); - } - - $type = PhabricatorApplicationStatusView::TYPE_NEEDS_ATTENTION; - $status[] = id(new PhabricatorApplicationStatusView()) - ->setType($type) - ->setText($count_str) - ->setCount($count); - - return $status; - } - public function getApplicationSearchDocumentTypes() { return array( PhabricatorPeopleUserPHIDType::TYPECONST, diff --git a/src/applications/phrequent/application/PhabricatorPhrequentApplication.php b/src/applications/phrequent/application/PhabricatorPhrequentApplication.php --- a/src/applications/phrequent/application/PhabricatorPhrequentApplication.php +++ b/src/applications/phrequent/application/PhabricatorPhrequentApplication.php @@ -46,27 +46,4 @@ ); } - public function loadStatus(PhabricatorUser $user) { - $status = array(); - $limit = self::MAX_STATUS_ITEMS; - - // Show number of objects that are currently - // being tracked for a user. - - $count = PhrequentUserTimeQuery::getUserTotalObjectsTracked($user, $limit); - if ($count >= $limit) { - $count_str = pht('%s+ Object(s) Tracked', new PhutilNumber($limit - 1)); - } else { - $count_str = pht('%s Object(s) Tracked', new PhutilNumber($count)); - } - - $type = PhabricatorApplicationStatusView::TYPE_NEEDS_ATTENTION; - $status[] = id(new PhabricatorApplicationStatusView()) - ->setType($type) - ->setText($count_str) - ->setCount($count); - - return $status; - } - }