diff --git a/src/applications/differential/constants/DifferentialRevisionStatus.php b/src/applications/differential/constants/DifferentialRevisionStatus.php --- a/src/applications/differential/constants/DifferentialRevisionStatus.php +++ b/src/applications/differential/constants/DifferentialRevisionStatus.php @@ -57,6 +57,28 @@ return idx($map, $status, $default); } + public static function getRevisionStatusIconCircle($status) { + $default = 'fa-circle-o bluegrey'; + + $map = array( + ArcanistDifferentialRevisionStatus::NEEDS_REVIEW => + 'fa-circle-o bluegrey', + ArcanistDifferentialRevisionStatus::NEEDS_REVISION => + 'fa-times-circle red', + ArcanistDifferentialRevisionStatus::CHANGES_PLANNED => + 'fa-exclamation-circle red', + ArcanistDifferentialRevisionStatus::ACCEPTED => + 'fa-check-circle green', + ArcanistDifferentialRevisionStatus::CLOSED => + 'fa-check-circle', + ArcanistDifferentialRevisionStatus::ABANDONED => + 'fa-times-circle', + ArcanistDifferentialRevisionStatus::IN_PREPARATION => + 'fa-question-circle blue', + ); + return idx($map, $status, $default); + } + public static function renderFullDescription($status) { $color = self::getRevisionStatusColor($status); $status_name = diff --git a/src/applications/phid/PhabricatorObjectHandle.php b/src/applications/phid/PhabricatorObjectHandle.php --- a/src/applications/phid/PhabricatorObjectHandle.php +++ b/src/applications/phid/PhabricatorObjectHandle.php @@ -282,6 +282,19 @@ ->setIconFont('fa-lock lightgreytext'); } + if ($this->getType() == DifferentialRevisionPHIDType::TYPECONST) { + $revision = id(new DifferentialRevisionQuery()) + ->setViewer(PhabricatorUser::getOmnipotentUser()) + ->withPHIDs(array($this->getPHID())) + ->needReviewerStatus(true) + ->executeOne(); + + $font = DifferentialRevisionStatus::getRevisionStatusIconCircle( + $revision->getStatus()); + $icon = id(new PHUIIconView()) + ->setIconFont($font); + } + return phutil_tag( $uri ? 'a' : 'span', array(