@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Modernize and clean up "PhabricatorAuditStatusConstants"

Summary:
Ref T13631. Move "PhabricatorAuditStatusConstants" to a more modern object ("PhabricatorAuditRequestStatus").

Expose the status value via Conduit.

Test Plan:
- Ran `bin/audit delete`.
- Viewed a commit with auditors in the web UI.
- Grepped for affected symbols.
- Called Conduit with the "auditors" attachment, saw auditor statuses.

Maniphest Tasks: T13631

Differential Revision: https://secure.phabricator.com/D21599

+121 -133
+2 -2
src/__phutil_library_map__.php
··· 2305 2305 'PhabricatorAuditManagementDeleteWorkflow' => 'applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php', 2306 2306 'PhabricatorAuditManagementWorkflow' => 'applications/audit/management/PhabricatorAuditManagementWorkflow.php', 2307 2307 'PhabricatorAuditReplyHandler' => 'applications/audit/mail/PhabricatorAuditReplyHandler.php', 2308 - 'PhabricatorAuditStatusConstants' => 'applications/audit/constants/PhabricatorAuditStatusConstants.php', 2308 + 'PhabricatorAuditRequestStatus' => 'applications/audit/constants/PhabricatorAuditRequestStatus.php', 2309 2309 'PhabricatorAuditSynchronizeManagementWorkflow' => 'applications/audit/management/PhabricatorAuditSynchronizeManagementWorkflow.php', 2310 2310 'PhabricatorAuditTransaction' => 'applications/audit/storage/PhabricatorAuditTransaction.php', 2311 2311 'PhabricatorAuditTransactionComment' => 'applications/audit/storage/PhabricatorAuditTransactionComment.php', ··· 8651 8651 'PhabricatorAuditManagementDeleteWorkflow' => 'PhabricatorAuditManagementWorkflow', 8652 8652 'PhabricatorAuditManagementWorkflow' => 'PhabricatorManagementWorkflow', 8653 8653 'PhabricatorAuditReplyHandler' => 'PhabricatorApplicationTransactionReplyHandler', 8654 - 'PhabricatorAuditStatusConstants' => 'Phobject', 8654 + 'PhabricatorAuditRequestStatus' => 'Phobject', 8655 8655 'PhabricatorAuditSynchronizeManagementWorkflow' => 'PhabricatorAuditManagementWorkflow', 8656 8656 'PhabricatorAuditTransaction' => 'PhabricatorModularTransaction', 8657 8657 'PhabricatorAuditTransactionComment' => array(
+80
src/applications/audit/constants/PhabricatorAuditRequestStatus.php
··· 1 + <?php 2 + 3 + final class PhabricatorAuditRequestStatus extends Phobject { 4 + 5 + const AUDIT_REQUIRED = 'audit-required'; 6 + const CONCERNED = 'concerned'; 7 + const ACCEPTED = 'accepted'; 8 + const AUDIT_REQUESTED = 'requested'; 9 + const RESIGNED = 'resigned'; 10 + 11 + private $key; 12 + 13 + public static function newForStatus($status) { 14 + $result = new self(); 15 + $result->key = $status; 16 + return $result; 17 + } 18 + 19 + public function getIconIcon() { 20 + return $this->getMapProperty('icon'); 21 + } 22 + 23 + public function getIconColor() { 24 + return $this->getMapProperty('icon.color'); 25 + } 26 + 27 + public function getStatusName() { 28 + $name = $this->getMapProperty('name'); 29 + if ($name !== null) { 30 + return $name; 31 + } 32 + 33 + return pht('Unknown Audit Request Status ("%s")', $this->key); 34 + } 35 + 36 + public function getStatusValue() { 37 + return $this->key; 38 + } 39 + 40 + public function isResigned() { 41 + return ($this->key === self::RESIGNED); 42 + } 43 + 44 + private function getMapProperty($key, $default = null) { 45 + $map = self::newStatusMap(); 46 + $spec = idx($map, $this->key, array()); 47 + return idx($spec, $key, $default); 48 + } 49 + 50 + private static function newStatusMap() { 51 + return array( 52 + self::AUDIT_REQUIRED => array( 53 + 'name' => pht('Audit Required'), 54 + 'icon' => 'fa-exclamation-circle', 55 + 'icon.color' => 'orange', 56 + ), 57 + self::AUDIT_REQUESTED => array( 58 + 'name' => pht('Audit Requested'), 59 + 'icon' => 'fa-exclamation-circle', 60 + 'icon.color' => 'orange', 61 + ), 62 + self::CONCERNED => array( 63 + 'name' => pht('concern Raised'), 64 + 'icon' => 'fa-times-circle', 65 + 'icon.color' => 'red', 66 + ), 67 + self::ACCEPTED => array( 68 + 'name' => pht('Accepted'), 69 + 'icon' => 'fa-check-circle', 70 + 'icon.color' => 'green', 71 + ), 72 + self::RESIGNED => array( 73 + 'name' => pht('Resigned'), 74 + 'icon' => 'fa-times', 75 + 'icon.color' => 'grey', 76 + ), 77 + ); 78 + } 79 + 80 + }
-90
src/applications/audit/constants/PhabricatorAuditStatusConstants.php
··· 1 - <?php 2 - 3 - final class PhabricatorAuditStatusConstants extends Phobject { 4 - 5 - const AUDIT_REQUIRED = 'audit-required'; 6 - const CONCERNED = 'concerned'; 7 - const ACCEPTED = 'accepted'; 8 - const AUDIT_REQUESTED = 'requested'; 9 - const RESIGNED = 'resigned'; 10 - 11 - public static function getStatusNameMap() { 12 - $map = array( 13 - self::AUDIT_REQUIRED => pht('Audit Required'), 14 - self::CONCERNED => pht('Concern Raised'), 15 - self::ACCEPTED => pht('Accepted'), 16 - self::AUDIT_REQUESTED => pht('Audit Requested'), 17 - self::RESIGNED => pht('Resigned'), 18 - ); 19 - 20 - return $map; 21 - } 22 - 23 - public static function getActionRequiredStatusConstants() { 24 - return array( 25 - self::AUDIT_REQUIRED, 26 - self::AUDIT_REQUESTED, 27 - ); 28 - } 29 - 30 - public static function getStatusName($code) { 31 - return idx(self::getStatusNameMap(), $code, pht('Unknown')); 32 - } 33 - 34 - public static function getStatusColor($code) { 35 - switch ($code) { 36 - case self::CONCERNED: 37 - $color = 'red'; 38 - break; 39 - case self::AUDIT_REQUIRED: 40 - case self::AUDIT_REQUESTED: 41 - $color = 'orange'; 42 - break; 43 - case self::ACCEPTED: 44 - $color = 'green'; 45 - break; 46 - case self::RESIGNED: 47 - $color = 'grey'; 48 - break; 49 - default: 50 - $color = 'bluegrey'; 51 - break; 52 - } 53 - return $color; 54 - } 55 - 56 - public static function getStatusIcon($code) { 57 - switch ($code) { 58 - case self::AUDIT_REQUIRED: 59 - case self::AUDIT_REQUESTED: 60 - $icon = PHUIStatusItemView::ICON_WARNING; 61 - break; 62 - case self::CONCERNED: 63 - $icon = PHUIStatusItemView::ICON_REJECT; 64 - break; 65 - case self::ACCEPTED: 66 - $icon = PHUIStatusItemView::ICON_ACCEPT; 67 - break; 68 - case self::RESIGNED: 69 - $icon = 'fa-times'; 70 - break; 71 - default: 72 - $icon = PHUIStatusItemView::ICON_QUESTION; 73 - break; 74 - } 75 - return $icon; 76 - } 77 - 78 - public static function getOpenStatusConstants() { 79 - return array( 80 - self::AUDIT_REQUIRED, 81 - self::AUDIT_REQUESTED, 82 - self::CONCERNED, 83 - ); 84 - } 85 - 86 - public static function isOpenStatus($status) { 87 - return in_array($status, self::getOpenStatusConstants()); 88 - } 89 - 90 - }
-5
src/applications/audit/editor/PhabricatorAuditEditor.php
··· 178 178 } 179 179 $object->attachAudits($commit->getAudits()); 180 180 181 - $status_concerned = PhabricatorAuditStatusConstants::CONCERNED; 182 - $status_resigned = PhabricatorAuditStatusConstants::RESIGNED; 183 - $status_accepted = PhabricatorAuditStatusConstants::ACCEPTED; 184 - $status_concerned = PhabricatorAuditStatusConstants::CONCERNED; 185 - 186 181 $actor_phid = $this->getActingAsPHID(); 187 182 $actor_is_author = ($object->getAuthorPHID()) && 188 183 ($actor_phid == $object->getAuthorPHID());
+2 -2
src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php
··· 153 153 154 154 foreach ($commit_audits as $audit) { 155 155 $audit_id = $audit->getID(); 156 + $status = $audit->getAuditRequestStatusObject(); 156 157 157 158 $description = sprintf( 158 159 '%10d %-16s %-16s %s: %s', 159 160 $audit_id, 160 161 $handles[$audit->getAuditorPHID()]->getName(), 161 - PhabricatorAuditStatusConstants::getStatusName( 162 - $audit->getAuditStatus()), 162 + $status->getStatusName(), 163 163 $commit->getRepository()->formatCommitName( 164 164 $commit->getCommitIdentifier()), 165 165 trim($commit->getSummary()));
+5 -4
src/applications/diffusion/controller/DiffusionCommitController.php
··· 898 898 899 899 $view = new PHUIStatusListView(); 900 900 foreach ($audit_requests as $request) { 901 - $code = $request->getAuditStatus(); 901 + $status = $request->getAuditRequestStatusObject(); 902 + 902 903 $item = new PHUIStatusItemView(); 903 904 $item->setIcon( 904 - PhabricatorAuditStatusConstants::getStatusIcon($code), 905 - PhabricatorAuditStatusConstants::getStatusColor($code), 906 - PhabricatorAuditStatusConstants::getStatusName($code)); 905 + $status->getIconIcon(), 906 + $status->getIconColor(), 907 + $status->getStatusName()); 907 908 908 909 $auditor_phid = $request->getAuditorPHID(); 909 910 $target = $viewer->renderHandle($auditor_phid);
+3 -3
src/applications/diffusion/doorkeeper/DiffusionDoorkeeperCommitFeedStoryPublisher.php
··· 98 98 } 99 99 100 100 switch ($status) { 101 - case PhabricatorAuditStatusConstants::AUDIT_REQUIRED: 102 - case PhabricatorAuditStatusConstants::AUDIT_REQUESTED: 103 - case PhabricatorAuditStatusConstants::CONCERNED: 101 + case PhabricatorAuditRequestStatus::AUDIT_REQUIRED: 102 + case PhabricatorAuditRequestStatus::AUDIT_REQUESTED: 103 + case PhabricatorAuditRequestStatus::CONCERNED: 104 104 $active += array_fuse($request_phids); 105 105 break; 106 106 default:
+3
src/applications/diffusion/engineextension/DiffusionAuditorsSearchEngineAttachment.php
··· 20 20 21 21 $list = array(); 22 22 foreach ($auditors as $auditor) { 23 + $status = $auditor->getAuditRequestStatusObject(); 24 + 23 25 $list[] = array( 24 26 'auditorPHID' => $auditor->getAuditorPHID(), 27 + 'status' => $status->getStatusValue(), 25 28 ); 26 29 } 27 30
+2 -2
src/applications/diffusion/herald/HeraldCommitAdapter.php
··· 166 166 public function loadAuditNeededPackages() { 167 167 if ($this->auditNeededPackages === null) { 168 168 $status_arr = array( 169 - PhabricatorAuditStatusConstants::AUDIT_REQUIRED, 170 - PhabricatorAuditStatusConstants::CONCERNED, 169 + PhabricatorAuditRequestStatus::AUDIT_REQUIRED, 170 + PhabricatorAuditRequestStatus::CONCERNED, 171 171 ); 172 172 $requests = id(new PhabricatorRepositoryAuditRequest()) 173 173 ->loadAllWhere(
+3 -3
src/applications/diffusion/query/DiffusionCommitRequiredActionResultBucket.php
··· 90 90 $objects = $this->objects; 91 91 92 92 $has_concern = array( 93 - PhabricatorAuditStatusConstants::CONCERNED, 93 + PhabricatorAuditRequestStatus::CONCERNED, 94 94 ); 95 95 $has_concern = array_fuse($has_concern); 96 96 ··· 119 119 $objects = $this->objects; 120 120 121 121 $should_audit = array( 122 - PhabricatorAuditStatusConstants::AUDIT_REQUIRED, 123 - PhabricatorAuditStatusConstants::AUDIT_REQUESTED, 122 + PhabricatorAuditRequestStatus::AUDIT_REQUIRED, 123 + PhabricatorAuditRequestStatus::AUDIT_REQUESTED, 124 124 ); 125 125 $should_audit = array_fuse($should_audit); 126 126
+1 -1
src/applications/diffusion/xaction/DiffusionCommitAcceptTransaction.php
··· 31 31 } 32 32 33 33 public function applyExternalEffects($object, $value) { 34 - $status = PhabricatorAuditStatusConstants::ACCEPTED; 34 + $status = PhabricatorAuditRequestStatus::ACCEPTED; 35 35 $actor = $this->getActor(); 36 36 $this->applyAuditorEffect($object, $actor, $value, $status); 37 37 }
+8 -8
src/applications/diffusion/xaction/DiffusionCommitAuditTransaction.php
··· 21 21 PhabricatorRepositoryCommit $commit, 22 22 PhabricatorUser $viewer) { 23 23 24 - // This omits various inactive states like "Resigned" and "Not Required". 24 + // This omits inactive states; currently just "Resigned". 25 25 $active = array( 26 - PhabricatorAuditStatusConstants::AUDIT_REQUIRED, 27 - PhabricatorAuditStatusConstants::CONCERNED, 28 - PhabricatorAuditStatusConstants::ACCEPTED, 29 - PhabricatorAuditStatusConstants::AUDIT_REQUESTED, 26 + PhabricatorAuditRequestStatus::AUDIT_REQUIRED, 27 + PhabricatorAuditRequestStatus::CONCERNED, 28 + PhabricatorAuditRequestStatus::ACCEPTED, 29 + PhabricatorAuditRequestStatus::AUDIT_REQUESTED, 30 30 ); 31 31 $active = array_fuse($active); 32 32 ··· 42 42 $commit, 43 43 $viewer, 44 44 array( 45 - PhabricatorAuditStatusConstants::ACCEPTED, 45 + PhabricatorAuditRequestStatus::ACCEPTED, 46 46 )); 47 47 } 48 48 ··· 53 53 $commit, 54 54 $viewer, 55 55 array( 56 - PhabricatorAuditStatusConstants::CONCERNED, 56 + PhabricatorAuditRequestStatus::CONCERNED, 57 57 )); 58 58 } 59 59 ··· 117 117 118 118 $map = array(); 119 119 120 - $with_authority = ($status != PhabricatorAuditStatusConstants::RESIGNED); 120 + $with_authority = ($status != PhabricatorAuditRequestStatus::RESIGNED); 121 121 if ($with_authority) { 122 122 foreach ($audits as $audit) { 123 123 if ($commit->hasAuditAuthority($actor, $audit, $acting_phid)) {
+1 -1
src/applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php
··· 16 16 $auditors = $this->generateOldValue($object); 17 17 $old_auditors = $auditors; 18 18 19 - $request_status = PhabricatorAuditStatusConstants::AUDIT_REQUESTED; 19 + $request_status = PhabricatorAuditRequestStatus::AUDIT_REQUESTED; 20 20 21 21 $rem = idx($value, '-', array()); 22 22 foreach ($rem as $phid) {
+1 -1
src/applications/diffusion/xaction/DiffusionCommitConcernTransaction.php
··· 37 37 } 38 38 39 39 public function applyExternalEffects($object, $value) { 40 - $status = PhabricatorAuditStatusConstants::CONCERNED; 40 + $status = PhabricatorAuditRequestStatus::CONCERNED; 41 41 $actor = $this->getActor(); 42 42 $this->applyAuditorEffect($object, $actor, $value, $status); 43 43 }
+1 -1
src/applications/diffusion/xaction/DiffusionCommitResignTransaction.php
··· 36 36 } 37 37 38 38 public function applyExternalEffects($object, $value) { 39 - $status = PhabricatorAuditStatusConstants::RESIGNED; 39 + $status = PhabricatorAuditRequestStatus::RESIGNED; 40 40 $actor = $this->getActor(); 41 41 $this->applyAuditorEffect($object, $actor, $value, $status); 42 42 }
+5 -6
src/applications/repository/storage/PhabricatorRepositoryAuditRequest.php
··· 50 50 } 51 51 52 52 public function isResigned() { 53 - switch ($this->getAuditStatus()) { 54 - case PhabricatorAuditStatusConstants::RESIGNED: 55 - return true; 56 - } 53 + return $this->getAuditRequestStatusObject()->isResigned(); 54 + } 57 55 58 - return false; 56 + public function getAuditRequestStatusObject() { 57 + $status = $this->getAuditStatus(); 58 + return PhabricatorAuditRequestStatus::newForStatus($status); 59 59 } 60 - 61 60 62 61 /* -( PhabricatorPolicyInterface )----------------------------------------- */ 63 62
+4 -4
src/applications/repository/storage/PhabricatorRepositoryCommit.php
··· 312 312 313 313 foreach ($requests as $request) { 314 314 switch ($request->getAuditStatus()) { 315 - case PhabricatorAuditStatusConstants::AUDIT_REQUIRED: 316 - case PhabricatorAuditStatusConstants::AUDIT_REQUESTED: 315 + case PhabricatorAuditRequestStatus::AUDIT_REQUIRED: 316 + case PhabricatorAuditRequestStatus::AUDIT_REQUESTED: 317 317 $any_need = true; 318 318 break; 319 - case PhabricatorAuditStatusConstants::ACCEPTED: 319 + case PhabricatorAuditRequestStatus::ACCEPTED: 320 320 $any_accept = true; 321 321 break; 322 - case PhabricatorAuditStatusConstants::CONCERNED: 322 + case PhabricatorAuditRequestStatus::CONCERNED: 323 323 $any_concern = true; 324 324 break; 325 325 }