@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 converting Audit constants, allowing the Query to handle either strings or integers

Summary: Ref T13197. We're almost ready to migrate: let the Query accept either older integer values or new string values. Then move some callsites to use strings.

Test Plan: Called `audit.query`, browsed audits, audited commits.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13197

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

+40 -23
+5 -5
src/applications/audit/conduit/AuditQueryConduitAPIMethod.php
··· 68 68 69 69 $status_map = array( 70 70 self::AUDIT_LEGACYSTATUS_OPEN => array( 71 - PhabricatorAuditCommitStatusConstants::NEEDS_AUDIT, 72 - PhabricatorAuditCommitStatusConstants::CONCERN_RAISED, 71 + PhabricatorAuditCommitStatusConstants::MODERN_NEEDS_AUDIT, 72 + PhabricatorAuditCommitStatusConstants::MODERN_CONCERN_RAISED, 73 73 ), 74 74 self::AUDIT_LEGACYSTATUS_CONCERN => array( 75 - PhabricatorAuditCommitStatusConstants::CONCERN_RAISED, 75 + PhabricatorAuditCommitStatusConstants::MODERN_CONCERN_RAISED, 76 76 ), 77 77 self::AUDIT_LEGACYSTATUS_ACCEPTED => array( 78 - PhabricatorAuditCommitStatusConstants::FULLY_AUDITED, 78 + PhabricatorAuditCommitStatusConstants::MODERN_AUDITED, 79 79 ), 80 80 self::AUDIT_LEGACYSTATUS_PARTIAL => array( 81 - PhabricatorAuditCommitStatusConstants::PARTIALLY_AUDITED, 81 + PhabricatorAuditCommitStatusConstants::MODERN_PARTIALLY_AUDITED, 82 82 ), 83 83 ); 84 84
+13 -3
src/applications/audit/constants/PhabricatorAuditCommitStatusConstants.php
··· 22 22 public static function newForLegacyStatus($status) { 23 23 $map = self::getMap(); 24 24 25 - foreach ($map as $key => $spec) { 26 - if (idx($spec, 'legacy') == $status) { 27 - return self::newForStatus($key); 25 + if (is_int($status) || ctype_digit($status)) { 26 + foreach ($map as $key => $spec) { 27 + if ((int)idx($spec, 'legacy') === (int)$status) { 28 + return self::newForStatus($key); 29 + } 28 30 } 29 31 } 30 32 ··· 56 58 return idx($this->spec, 'color'); 57 59 } 58 60 61 + public function getLegacyKey() { 62 + return idx($this->spec, 'legacy'); 63 + } 64 + 59 65 public function getName() { 60 66 return idx($this->spec, 'name', pht('Unknown ("%s")', $this->key)); 61 67 } 62 68 63 69 public function isNoAudit() { 64 70 return ($this->key == self::MODERN_NONE); 71 + } 72 + 73 + public function isNeedsAudit() { 74 + return ($this->key == self::MODERN_NEEDS_AUDIT); 65 75 } 66 76 67 77 public function isConcernRaised() {
+8 -1
src/applications/diffusion/query/DiffusionCommitQuery.php
··· 714 714 } 715 715 716 716 if ($this->statuses !== null) { 717 + $statuses = array(); 718 + foreach ($this->statuses as $status) { 719 + $object = PhabricatorAuditCommitStatusConstants::newForLegacyStatus( 720 + $status); 721 + $statuses[] = $object->getLegacyKey(); 722 + } 723 + 717 724 $where[] = qsprintf( 718 725 $conn, 719 726 'commit.auditStatus IN (%Ld)', 720 - $this->statuses); 727 + $statuses); 721 728 } 722 729 723 730 if ($this->packagePHIDs !== null) {
+6 -8
src/applications/diffusion/query/DiffusionCommitRequiredActionResultBucket.php
··· 164 164 $results = array(); 165 165 $objects = $this->objects; 166 166 167 - $status_waiting = array( 168 - PhabricatorAuditCommitStatusConstants::NEEDS_AUDIT, 169 - PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION, 170 - PhabricatorAuditCommitStatusConstants::PARTIALLY_AUDITED, 171 - ); 172 - $status_waiting = array_fuse($status_waiting); 173 - 174 167 foreach ($objects as $key => $object) { 175 - if (empty($status_waiting[$object->getAuditStatus()])) { 168 + $any_waiting = 169 + $object->isAuditStatusNeedsAudit() || 170 + $object->isAuditStatusNeedsVerification() || 171 + $object->isAuditStatusPartiallyAudited(); 172 + 173 + if (!$any_waiting) { 176 174 continue; 177 175 } 178 176
+2 -1
src/applications/owners/controller/PhabricatorOwnersDetailController.php
··· 71 71 'package' => $package->getPHID(), 72 72 )); 73 73 74 - $status_concern = PhabricatorAuditCommitStatusConstants::CONCERN_RAISED; 74 + $status_concern = 75 + PhabricatorAuditCommitStatusConstants::MODERN_CONCERN_RAISED; 75 76 76 77 $attention_commits = id(new DiffusionCommitQuery()) 77 78 ->setViewer($request->getUser())
+6 -5
src/applications/repository/storage/PhabricatorRepositoryCommit.php
··· 381 381 } 382 382 } 383 383 384 - $current_status = $this->getAuditStatus(); 385 - $status_verify = PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION; 386 - 387 384 if ($any_concern) { 388 - if ($current_status == $status_verify) { 385 + if ($this->isAuditStatusNeedsVerification()) { 389 386 // If the change is in "Needs Verification", we keep it there as 390 387 // long as any auditors still have concerns. 391 - $status = $status_verify; 388 + $status = PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION; 392 389 } else { 393 390 $status = PhabricatorAuditCommitStatusConstants::CONCERN_RAISED; 394 391 } ··· 537 534 538 535 public function isAuditStatusNoAudit() { 539 536 return $this->getAuditStatusObject()->isNoAudit(); 537 + } 538 + 539 + public function isAuditStatusNeedsAudit() { 540 + return $this->getAuditStatusObject()->isNeedsAudit(); 540 541 } 541 542 542 543 public function isAuditStatusConcernRaised() {