@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.

Continue replacing Commit/Audit status checks with object-based checks

Summary: Ref T13195. See PHI851. Continuing down the path toward replacing these legacy numeric constants with more modern string constants.

Test Plan:
- Raised concern, requested verification, verified.
- Looked at commit hovercard with audit status.
- Viewed header on a commit page.
- (Didn't test the Doorkeeper stuff since it requires linking to Asana and seems unlikely to break.)

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13195

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

+84 -57
+24
src/applications/audit/constants/PhabricatorAuditCommitStatusConstants.php
··· 60 60 return idx($this->spec, 'name', pht('Unknown ("%s")', $this->key)); 61 61 } 62 62 63 + public function isNoAudit() { 64 + return ($this->key == self::MODERN_NONE); 65 + } 66 + 67 + public function isConcernRaised() { 68 + return ($this->key == self::MODERN_CONCERN_RAISED); 69 + } 70 + 71 + public function isNeedsVerification() { 72 + return ($this->key == self::MODERN_NEEDS_VERIFICATION); 73 + } 74 + 75 + public function isPartiallyAudited() { 76 + return ($this->key == self::MODERN_PARTIALLY_AUDITED); 77 + } 78 + 79 + public function isAudited() { 80 + return ($this->key == self::MODERN_AUDITED); 81 + } 82 + 83 + public function getIsClosed() { 84 + return idx($this->spec, 'closed'); 85 + } 86 + 63 87 public static function getStatusNameMap() { 64 88 $map = self::getMap(); 65 89 return ipull($map, 'name', 'legacy');
+1 -3
src/applications/audit/editor/PhabricatorAuditEditor.php
··· 206 206 $object->writeImportStatusFlag($import_status_flag); 207 207 } 208 208 209 - $partial_status = PhabricatorAuditCommitStatusConstants::PARTIALLY_AUDITED; 210 - 211 209 // If the commit has changed state after this edit, add an informational 212 210 // transaction about the state change. 213 211 if ($old_status != $new_status) { 214 - if ($new_status == $partial_status) { 212 + if ($object->isAuditStatusPartiallyAudited()) { 215 213 // This state isn't interesting enough to get a transaction. The 216 214 // best way we could lead the user forward is something like "This 217 215 // commit still requires additional audits." but that's redundant and
+6 -7
src/applications/diffusion/controller/DiffusionCommitController.php
··· 171 171 ->setHeaderIcon('fa-code-fork') 172 172 ->addTag($commit_tag); 173 173 174 - if ($commit->getAuditStatus()) { 175 - $icon = PhabricatorAuditCommitStatusConstants::getStatusIcon( 176 - $commit->getAuditStatus()); 177 - $color = PhabricatorAuditCommitStatusConstants::getStatusColor( 178 - $commit->getAuditStatus()); 179 - $status = PhabricatorAuditCommitStatusConstants::getStatusName( 180 - $commit->getAuditStatus()); 174 + if (!$commit->isAuditStatusNoAudit()) { 175 + $status = $commit->getAuditStatusObject(); 176 + 177 + $icon = $status->getIcon(); 178 + $color = $status->getColor(); 179 + $status = $status->getName(); 181 180 182 181 $header->setStatus($icon, $color, $status); 183 182 }
+2 -11
src/applications/diffusion/doorkeeper/DiffusionDoorkeeperCommitFeedStoryPublisher.php
··· 31 31 // After ApplicationTransactions, we could annotate feed stories more 32 32 // explicitly. 33 33 34 - $fully_audited = PhabricatorAuditCommitStatusConstants::FULLY_AUDITED; 35 - 36 34 $story = $this->getFeedStory(); 37 35 $xaction = $story->getPrimaryTransaction(); 38 36 switch ($xaction->getTransactionType()) { ··· 41 39 case PhabricatorAuditActionConstants::CLOSE: 42 40 return true; 43 41 case PhabricatorAuditActionConstants::ACCEPT: 44 - if ($object->getAuditStatus() == $fully_audited) { 42 + if ($object->isAuditStatusAudited()) { 45 43 return true; 46 44 } 47 45 break; ··· 165 163 } 166 164 167 165 public function isObjectClosed($object) { 168 - switch ($object->getAuditStatus()) { 169 - case PhabricatorAuditCommitStatusConstants::NEEDS_AUDIT: 170 - case PhabricatorAuditCommitStatusConstants::CONCERN_RAISED: 171 - case PhabricatorAuditCommitStatusConstants::PARTIALLY_AUDITED: 172 - return false; 173 - default: 174 - return true; 175 - } 166 + return $object->getAuditStatusObject()->getIsClosed(); 176 167 } 177 168 178 169 public function getResponsibilityTitle($object) {
+5 -5
src/applications/diffusion/engineextension/DiffusionHovercardEngineExtension.php
··· 41 41 $hovercard->addField(pht('Date'), 42 42 phabricator_date($commit->getEpoch(), $viewer)); 43 43 44 - if ($commit->getAuditStatus() != 45 - PhabricatorAuditCommitStatusConstants::NONE) { 44 + if (!$commit->isAuditStatusNoAudit()) { 45 + $status = $commit->getAuditStatusObject(); 46 46 47 - $hovercard->addField(pht('Audit Status'), 48 - PhabricatorAuditCommitStatusConstants::getStatusName( 49 - $commit->getAuditStatus())); 47 + $hovercard->addField( 48 + pht('Audit Status'), 49 + $status->getName()); 50 50 } 51 51 } 52 52
+3 -8
src/applications/diffusion/query/DiffusionCommitRequiredActionResultBucket.php
··· 69 69 $results = array(); 70 70 $objects = $this->objects; 71 71 72 - $status_concern = PhabricatorAuditCommitStatusConstants::CONCERN_RAISED; 73 - 74 72 foreach ($objects as $key => $object) { 75 73 if (empty($phids[$object->getAuthorPHID()])) { 76 74 continue; 77 75 } 78 76 79 - if ($object->getAuditStatus() != $status_concern) { 77 + if (!$object->isAuditStatusConcernRaised()) { 80 78 continue; 81 79 } 82 80 ··· 91 89 $results = array(); 92 90 $objects = $this->objects; 93 91 94 - $status_verify = PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION; 95 92 $has_concern = array( 96 93 PhabricatorAuditStatusConstants::CONCERNED, 97 94 ); ··· 102 99 continue; 103 100 } 104 101 105 - if ($object->getAuditStatus() != $status_verify) { 102 + if (!$object->isAuditStatusNeedsVerification()) { 106 103 continue; 107 104 } 108 105 ··· 147 144 $results = array(); 148 145 $objects = $this->objects; 149 146 150 - $status_concern = PhabricatorAuditCommitStatusConstants::CONCERN_RAISED; 151 - 152 147 foreach ($objects as $key => $object) { 153 - if ($object->getAuditStatus() != $status_concern) { 148 + if (!$object->isAuditStatusConcernRaised()) { 154 149 continue; 155 150 } 156 151
+1 -3
src/applications/diffusion/xaction/DiffusionCommitConcernTransaction.php
··· 54 54 55 55 // Even if you've already raised a concern, you can raise again as long 56 56 // as the author requested you verify. 57 - $state_verify = PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION; 58 - 59 57 if ($this->isViewerFullyRejected($object, $viewer)) { 60 - if ($object->getAuditStatus() != $state_verify) { 58 + if (!$object->isAuditStatusNeedsVerification()) { 61 59 throw new Exception( 62 60 pht( 63 61 'You can not raise a concern with this commit because you have '.
+21 -18
src/applications/diffusion/xaction/DiffusionCommitStateTransaction.php
··· 11 11 throw new PhutilMethodNotImplementedException(); 12 12 } 13 13 14 - public function getIcon() { 14 + private function getAuditStatusObject() { 15 15 $new = $this->getNewValue(); 16 - return PhabricatorAuditCommitStatusConstants::getStatusIcon($new); 16 + return PhabricatorAuditCommitStatusConstants::newForLegacyStatus($new); 17 + } 18 + 19 + public function getIcon() { 20 + return $this->getAuditStatusObject()->getIcon(); 17 21 } 18 22 19 23 public function getColor() { 20 - $new = $this->getNewValue(); 21 - return PhabricatorAuditCommitStatusConstants::getStatusColor($new); 24 + return $this->getAuditStatusObject()->getColor(); 22 25 } 23 26 24 27 public function getTitle() { 25 - $new = $this->getNewValue(); 28 + $status = $this->getAuditStatusObject(); 26 29 27 - switch ($new) { 28 - case PhabricatorAuditCommitStatusConstants::NONE: 30 + switch ($status->getKey()) { 31 + case PhabricatorAuditCommitStatusConstants::MODERN_NONE: 29 32 return pht('This commit no longer requires audit.'); 30 - case PhabricatorAuditCommitStatusConstants::NEEDS_AUDIT: 33 + case PhabricatorAuditCommitStatusConstants::MODERN_NEEDS_AUDIT: 31 34 return pht('This commit now requires audit.'); 32 - case PhabricatorAuditCommitStatusConstants::CONCERN_RAISED: 35 + case PhabricatorAuditCommitStatusConstants::MODERN_CONCERN_RAISED: 33 36 return pht('This commit now has outstanding concerns.'); 34 - case PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION: 37 + case PhabricatorAuditCommitStatusConstants::MODERN_NEEDS_VERIFICATION: 35 38 return pht('This commit now requires verification by auditors.'); 36 - case PhabricatorAuditCommitStatusConstants::FULLY_AUDITED: 39 + case PhabricatorAuditCommitStatusConstants::MODERN_AUDITED: 37 40 return pht('All concerns with this commit have now been addressed.'); 38 41 } 39 42 ··· 41 44 } 42 45 43 46 public function getTitleForFeed() { 44 - $new = $this->getNewValue(); 47 + $status = $this->getAuditStatusObject(); 45 48 46 - switch ($new) { 47 - case PhabricatorAuditCommitStatusConstants::NONE: 49 + switch ($status->getKey()) { 50 + case PhabricatorAuditCommitStatusConstants::MODERN_NONE: 48 51 return pht( 49 52 '%s no longer requires audit.', 50 53 $this->renderObject()); 51 - case PhabricatorAuditCommitStatusConstants::NEEDS_AUDIT: 54 + case PhabricatorAuditCommitStatusConstants::MODERN_NEEDS_AUDIT: 52 55 return pht( 53 56 '%s now requires audit.', 54 57 $this->renderObject()); 55 - case PhabricatorAuditCommitStatusConstants::CONCERN_RAISED: 58 + case PhabricatorAuditCommitStatusConstants::MODERN_CONCERN_RAISED: 56 59 return pht( 57 60 '%s now has outstanding concerns.', 58 61 $this->renderObject()); 59 - case PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION: 62 + case PhabricatorAuditCommitStatusConstants::MODERN_NEEDS_VERIFICATION: 60 63 return pht( 61 64 '%s now requires verification by auditors.', 62 65 $this->renderObject()); 63 - case PhabricatorAuditCommitStatusConstants::FULLY_AUDITED: 66 + case PhabricatorAuditCommitStatusConstants::MODERN_AUDITED: 64 67 return pht( 65 68 'All concerns with %s have now been addressed.', 66 69 $this->renderObject());
+1 -2
src/applications/diffusion/xaction/DiffusionCommitVerifyTransaction.php
··· 48 48 'are not the author.')); 49 49 } 50 50 51 - $status = $object->getAuditStatus(); 52 - if ($status != PhabricatorAuditCommitStatusConstants::CONCERN_RAISED) { 51 + if (!$object->isAuditStatusConcernRaised()) { 53 52 throw new Exception( 54 53 pht( 55 54 'You can not request verification of this commit because no '.
+20
src/applications/repository/storage/PhabricatorRepositoryCommit.php
··· 535 535 return PhabricatorAuditCommitStatusConstants::newForLegacyStatus($status); 536 536 } 537 537 538 + public function isAuditStatusNoAudit() { 539 + return $this->getAuditStatusObject()->isNoAudit(); 540 + } 541 + 542 + public function isAuditStatusConcernRaised() { 543 + return $this->getAuditStatusObject()->isConcernRaised(); 544 + } 545 + 546 + public function isAuditStatusNeedsVerification() { 547 + return $this->getAuditStatusObject()->isNeedsVerification(); 548 + } 549 + 550 + public function isAuditStatusPartiallyAudited() { 551 + return $this->getAuditStatusObject()->isPartiallyAudited(); 552 + } 553 + 554 + public function isAuditStatusAudited() { 555 + return $this->getAuditStatusObject()->isAudited(); 556 + } 557 + 538 558 /* -( PhabricatorPolicyInterface )----------------------------------------- */ 539 559 540 560 public function getCapabilities() {