diff --git a/src/applications/audit/conduit/AuditQueryConduitAPIMethod.php b/src/applications/audit/conduit/AuditQueryConduitAPIMethod.php --- a/src/applications/audit/conduit/AuditQueryConduitAPIMethod.php +++ b/src/applications/audit/conduit/AuditQueryConduitAPIMethod.php @@ -68,17 +68,17 @@ $status_map = array( self::AUDIT_LEGACYSTATUS_OPEN => array( - PhabricatorAuditCommitStatusConstants::NEEDS_AUDIT, - PhabricatorAuditCommitStatusConstants::CONCERN_RAISED, + PhabricatorAuditCommitStatusConstants::MODERN_NEEDS_AUDIT, + PhabricatorAuditCommitStatusConstants::MODERN_CONCERN_RAISED, ), self::AUDIT_LEGACYSTATUS_CONCERN => array( - PhabricatorAuditCommitStatusConstants::CONCERN_RAISED, + PhabricatorAuditCommitStatusConstants::MODERN_CONCERN_RAISED, ), self::AUDIT_LEGACYSTATUS_ACCEPTED => array( - PhabricatorAuditCommitStatusConstants::FULLY_AUDITED, + PhabricatorAuditCommitStatusConstants::MODERN_AUDITED, ), self::AUDIT_LEGACYSTATUS_PARTIAL => array( - PhabricatorAuditCommitStatusConstants::PARTIALLY_AUDITED, + PhabricatorAuditCommitStatusConstants::MODERN_PARTIALLY_AUDITED, ), ); 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 @@ -22,9 +22,11 @@ public static function newForLegacyStatus($status) { $map = self::getMap(); - foreach ($map as $key => $spec) { - if (idx($spec, 'legacy') == $status) { - return self::newForStatus($key); + if (is_int($status) || ctype_digit($status)) { + foreach ($map as $key => $spec) { + if ((int)idx($spec, 'legacy') === (int)$status) { + return self::newForStatus($key); + } } } @@ -56,6 +58,10 @@ return idx($this->spec, 'color'); } + public function getLegacyKey() { + return idx($this->spec, 'legacy'); + } + public function getName() { return idx($this->spec, 'name', pht('Unknown ("%s")', $this->key)); } @@ -64,6 +70,10 @@ return ($this->key == self::MODERN_NONE); } + public function isNeedsAudit() { + return ($this->key == self::MODERN_NEEDS_AUDIT); + } + public function isConcernRaised() { return ($this->key == self::MODERN_CONCERN_RAISED); } diff --git a/src/applications/diffusion/query/DiffusionCommitQuery.php b/src/applications/diffusion/query/DiffusionCommitQuery.php --- a/src/applications/diffusion/query/DiffusionCommitQuery.php +++ b/src/applications/diffusion/query/DiffusionCommitQuery.php @@ -714,10 +714,17 @@ } if ($this->statuses !== null) { + $statuses = array(); + foreach ($this->statuses as $status) { + $object = PhabricatorAuditCommitStatusConstants::newForLegacyStatus( + $status); + $statuses[] = $object->getLegacyKey(); + } + $where[] = qsprintf( $conn, 'commit.auditStatus IN (%Ld)', - $this->statuses); + $statuses); } if ($this->packagePHIDs !== null) { diff --git a/src/applications/diffusion/query/DiffusionCommitRequiredActionResultBucket.php b/src/applications/diffusion/query/DiffusionCommitRequiredActionResultBucket.php --- a/src/applications/diffusion/query/DiffusionCommitRequiredActionResultBucket.php +++ b/src/applications/diffusion/query/DiffusionCommitRequiredActionResultBucket.php @@ -164,15 +164,13 @@ $results = array(); $objects = $this->objects; - $status_waiting = array( - PhabricatorAuditCommitStatusConstants::NEEDS_AUDIT, - PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION, - PhabricatorAuditCommitStatusConstants::PARTIALLY_AUDITED, - ); - $status_waiting = array_fuse($status_waiting); - foreach ($objects as $key => $object) { - if (empty($status_waiting[$object->getAuditStatus()])) { + $any_waiting = + $object->isAuditStatusNeedsAudit() || + $object->isAuditStatusNeedsVerification() || + $object->isAuditStatusPartiallyAudited(); + + if (!$any_waiting) { continue; } diff --git a/src/applications/owners/controller/PhabricatorOwnersDetailController.php b/src/applications/owners/controller/PhabricatorOwnersDetailController.php --- a/src/applications/owners/controller/PhabricatorOwnersDetailController.php +++ b/src/applications/owners/controller/PhabricatorOwnersDetailController.php @@ -71,7 +71,8 @@ 'package' => $package->getPHID(), )); - $status_concern = PhabricatorAuditCommitStatusConstants::CONCERN_RAISED; + $status_concern = + PhabricatorAuditCommitStatusConstants::MODERN_CONCERN_RAISED; $attention_commits = id(new DiffusionCommitQuery()) ->setViewer($request->getUser()) 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 @@ -381,14 +381,11 @@ } } - $current_status = $this->getAuditStatus(); - $status_verify = PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION; - if ($any_concern) { - if ($current_status == $status_verify) { + if ($this->isAuditStatusNeedsVerification()) { // If the change is in "Needs Verification", we keep it there as // long as any auditors still have concerns. - $status = $status_verify; + $status = PhabricatorAuditCommitStatusConstants::NEEDS_VERIFICATION; } else { $status = PhabricatorAuditCommitStatusConstants::CONCERN_RAISED; } @@ -539,6 +536,10 @@ return $this->getAuditStatusObject()->isNoAudit(); } + public function isAuditStatusNeedsAudit() { + return $this->getAuditStatusObject()->isNeedsAudit(); + } + public function isAuditStatusConcernRaised() { return $this->getAuditStatusObject()->isConcernRaised(); }