Differential D14638 Diff 35445 src/applications/differential/application/PhabricatorDifferentialApplication.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/application/PhabricatorDifferentialApplication.php
| Show First 20 Lines • Show All 98 Lines • ▼ Show 20 Lines | final class PhabricatorDifferentialApplication extends PhabricatorApplication { | ||||
| public function getRemarkupRules() { | public function getRemarkupRules() { | ||||
| return array( | return array( | ||||
| new DifferentialRemarkupRule(), | new DifferentialRemarkupRule(), | ||||
| ); | ); | ||||
| } | } | ||||
| public function loadStatus(PhabricatorUser $user) { | public function loadStatus(PhabricatorUser $user) { | ||||
| $limit = self::MAX_STATUS_ITEMS; | |||||
| $revisions = id(new DifferentialRevisionQuery()) | $revisions = id(new DifferentialRevisionQuery()) | ||||
| ->setViewer($user) | ->setViewer($user) | ||||
| ->withResponsibleUsers(array($user->getPHID())) | ->withResponsibleUsers(array($user->getPHID())) | ||||
| ->withStatus(DifferentialRevisionQuery::STATUS_OPEN) | ->withStatus(DifferentialRevisionQuery::STATUS_OPEN) | ||||
| ->needRelationships(true) | ->needRelationships(true) | ||||
| ->setLimit(self::MAX_STATUS_ITEMS) | ->setLimit($limit) | ||||
| ->execute(); | ->execute(); | ||||
| $status = array(); | $status = array(); | ||||
| if (count($revisions) == self::MAX_STATUS_ITEMS) { | if (count($revisions) >= $limit) { | ||||
| $all_count = count($revisions); | $all_count = count($revisions); | ||||
| $all_count_str = self::formatStatusCount( | $all_count_str = pht( | ||||
| $all_count, | '%s+ Active Review(s)', | ||||
| '%s Active Reviews', | new PhutilNumber($limit - 1)); | ||||
| '%d Active Review(s)'); | |||||
| $type = PhabricatorApplicationStatusView::TYPE_WARNING; | $type = PhabricatorApplicationStatusView::TYPE_WARNING; | ||||
| $status[] = id(new PhabricatorApplicationStatusView()) | $status[] = id(new PhabricatorApplicationStatusView()) | ||||
| ->setType($type) | ->setType($type) | ||||
| ->setText($all_count_str) | ->setText($all_count_str) | ||||
| ->setCount($all_count); | ->setCount($all_count); | ||||
| } else { | } else { | ||||
| list($blocking, $active, $waiting) = | list($blocking, $active, $waiting) = | ||||
| DifferentialRevisionQuery::splitResponsible( | DifferentialRevisionQuery::splitResponsible( | ||||
| $revisions, | $revisions, | ||||
| array($user->getPHID())); | array($user->getPHID())); | ||||
| $blocking = count($blocking); | $blocking = count($blocking); | ||||
| $blocking_str = self::formatStatusCount( | $blocking_str = pht( | ||||
| $blocking, | '%s Review(s) Blocking Others', | ||||
| '%s Reviews Blocking Others', | new PhutilNumber($blocking)); | ||||
| '%d Review(s) Blocking Others'); | |||||
| $type = PhabricatorApplicationStatusView::TYPE_NEEDS_ATTENTION; | $type = PhabricatorApplicationStatusView::TYPE_NEEDS_ATTENTION; | ||||
| $status[] = id(new PhabricatorApplicationStatusView()) | $status[] = id(new PhabricatorApplicationStatusView()) | ||||
| ->setType($type) | ->setType($type) | ||||
| ->setText($blocking_str) | ->setText($blocking_str) | ||||
| ->setCount($blocking); | ->setCount($blocking); | ||||
| $active = count($active); | $active = count($active); | ||||
| $active_str = self::formatStatusCount( | $active_str = pht( | ||||
| $active, | '%s Review(s) Need Attention', | ||||
| '%s Reviews Need Attention', | new PhutilNumber($active)); | ||||
| '%d Review(s) Need Attention'); | |||||
| $type = PhabricatorApplicationStatusView::TYPE_WARNING; | $type = PhabricatorApplicationStatusView::TYPE_WARNING; | ||||
| $status[] = id(new PhabricatorApplicationStatusView()) | $status[] = id(new PhabricatorApplicationStatusView()) | ||||
| ->setType($type) | ->setType($type) | ||||
| ->setText($active_str) | ->setText($active_str) | ||||
| ->setCount($active); | ->setCount($active); | ||||
| $waiting = count($waiting); | $waiting = count($waiting); | ||||
| $waiting_str = self::formatStatusCount( | $waiting_str = pht( | ||||
| $waiting, | '%s Review(s) Waiting on Others', | ||||
| '%s Reviews Waiting on Others', | new PhutilNumber($waiting)); | ||||
| '%d Review(s) Waiting on Others'); | |||||
| $type = PhabricatorApplicationStatusView::TYPE_INFO; | $type = PhabricatorApplicationStatusView::TYPE_INFO; | ||||
| $status[] = id(new PhabricatorApplicationStatusView()) | $status[] = id(new PhabricatorApplicationStatusView()) | ||||
| ->setType($type) | ->setType($type) | ||||
| ->setText($waiting_str) | ->setText($waiting_str) | ||||
| ->setCount($waiting); | ->setCount($waiting); | ||||
| } | } | ||||
| return $status; | return $status; | ||||
| ▲ Show 20 Lines • Show All 49 Lines • Show Last 20 Lines | |||||