Page MenuHomePhabricator

D19646.id46957.diff
No OneTemporary

D19646.id46957.diff

diff --git a/src/applications/audit/constants/PhabricatorAuditCommitStatusConstants.php b/src/applications/audit/constants/PhabricatorAuditCommitStatusConstants.php
--- a/src/applications/audit/constants/PhabricatorAuditCommitStatusConstants.php
+++ b/src/applications/audit/constants/PhabricatorAuditCommitStatusConstants.php
@@ -2,6 +2,9 @@
final class PhabricatorAuditCommitStatusConstants extends Phobject {
+ private $key;
+ private $spec = array();
+
const NONE = 0;
const NEEDS_AUDIT = 1;
const CONCERN_RAISED = 2;
@@ -16,6 +19,47 @@
const MODERN_AUDITED = 'audited';
const MODERN_NEEDS_VERIFICATION = 'needs-verification';
+ public static function newForLegacyStatus($status) {
+ $map = self::getMap();
+
+ foreach ($map as $key => $spec) {
+ if (idx($spec, 'legacy') == $status) {
+ return self::newForStatus($key);
+ }
+ }
+
+ return self::newForStatus($status);
+ }
+
+ public static function newForStatus($status) {
+ $result = new self();
+
+ $result->key = $status;
+
+ $map = self::getMap();
+ if (isset($map[$status])) {
+ $result->spec = $map[$status];
+ }
+
+ return $result;
+ }
+
+ public function getKey() {
+ return $this->key;
+ }
+
+ public function getIcon() {
+ return idx($this->spec, 'icon');
+ }
+
+ public function getColor() {
+ return idx($this->spec, 'color');
+ }
+
+ public function getName() {
+ return idx($this->spec, 'name', pht('Unknown ("%s")', $this->key));
+ }
+
public static function getStatusNameMap() {
$map = self::getMap();
return ipull($map, 'name', 'legacy');
diff --git a/src/applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php b/src/applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php
--- a/src/applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php
+++ b/src/applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php
@@ -30,11 +30,11 @@
continue;
}
- $old_status = $commit->getAuditStatus();
+ $old_status = $commit->getAuditStatusObject();
$commit->updateAuditStatus($commit->getAudits());
- $new_status = $commit->getAuditStatus();
+ $new_status = $commit->getAuditStatusObject();
- if ($old_status == $new_status) {
+ if ($old_status->getKey() == $new_status->getKey()) {
echo tsprintf(
"%s\n",
pht(
@@ -46,10 +46,8 @@
pht(
'Updating "%s": "%s" -> "%s".',
$commit->getDisplayName(),
- PhabricatorAuditCommitStatusConstants::getStatusName(
- $old_status),
- PhabricatorAuditCommitStatusConstants::getStatusName(
- $new_status)));
+ $old_status->getName(),
+ $new_status->getName()));
$commit->save();
}
diff --git a/src/applications/audit/view/PhabricatorAuditListView.php b/src/applications/audit/view/PhabricatorAuditListView.php
--- a/src/applications/audit/view/PhabricatorAuditListView.php
+++ b/src/applications/audit/view/PhabricatorAuditListView.php
@@ -120,14 +120,11 @@
$commit_desc = $this->getCommitDescription($commit_phid);
$committed = phabricator_datetime($commit->getEpoch(), $viewer);
- $status = $commit->getAuditStatus();
-
- $status_text =
- PhabricatorAuditCommitStatusConstants::getStatusName($status);
- $status_color =
- PhabricatorAuditCommitStatusConstants::getStatusColor($status);
- $status_icon =
- PhabricatorAuditCommitStatusConstants::getStatusIcon($status);
+ $status = $commit->getAuditStatusObject();
+
+ $status_text = $status->getName();
+ $status_color = $status->getColor();
+ $status_icon = $status->getIcon();
$author_phid = $commit->getAuthorPHID();
if ($author_phid) {
diff --git a/src/applications/diffusion/view/DiffusionHistoryTableView.php b/src/applications/diffusion/view/DiffusionHistoryTableView.php
--- a/src/applications/diffusion/view/DiffusionHistoryTableView.php
+++ b/src/applications/diffusion/view/DiffusionHistoryTableView.php
@@ -114,10 +114,10 @@
'type' => $history->getFileType(),
));
- $status = $commit->getAuditStatus();
- $icon = PhabricatorAuditCommitStatusConstants::getStatusIcon($status);
- $color = PhabricatorAuditCommitStatusConstants::getStatusColor($status);
- $name = PhabricatorAuditCommitStatusConstants::getStatusName($status);
+ $status = $commit->getAuditStatusObject();
+ $icon = $status->getIcon();
+ $color = $status->getColor();
+ $name = $status->getName();
$audit_view = id(new PHUIIconView())
->setIcon($icon, $color)
diff --git a/src/applications/repository/phid/PhabricatorRepositoryCommitPHIDType.php b/src/applications/repository/phid/PhabricatorRepositoryCommitPHIDType.php
--- a/src/applications/repository/phid/PhabricatorRepositoryCommitPHIDType.php
+++ b/src/applications/repository/phid/PhabricatorRepositoryCommitPHIDType.php
@@ -82,10 +82,10 @@
$handle->setURI($commit->getURI());
$handle->setTimestamp($commit->getEpoch());
- $status = $commit->getAuditStatus();
- $icon = PhabricatorAuditCommitStatusConstants::getStatusIcon($status);
- $color = PhabricatorAuditCommitStatusConstants::getStatusColor($status);
- $name = PhabricatorAuditCommitStatusConstants::getStatusName($status);
+ $status = $commit->getAuditStatusObject();
+ $icon = $status->getIcon();
+ $color = $status->getColor();
+ $name = $status->getName();
$handle
->setStateIcon($icon)
diff --git a/src/applications/repository/storage/PhabricatorRepositoryCommit.php b/src/applications/repository/storage/PhabricatorRepositoryCommit.php
--- a/src/applications/repository/storage/PhabricatorRepositoryCommit.php
+++ b/src/applications/repository/storage/PhabricatorRepositoryCommit.php
@@ -530,6 +530,11 @@
return $data->getCommitDetail('authorPHID');
}
+ public function getAuditStatusObject() {
+ $status = $this->getAuditStatus();
+ return PhabricatorAuditCommitStatusConstants::newForLegacyStatus($status);
+ }
+
/* -( PhabricatorPolicyInterface )----------------------------------------- */
public function getCapabilities() {

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 14, 5:22 PM (1 w, 4 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7385489
Default Alt Text
D19646.id46957.diff (6 KB)

Event Timeline