From 59b626d2c1427e27e803ced9106b6821aa615a60 Mon Sep 17 00:00:00 2001 From: Bob Trahan Date: Tue, 19 Aug 2014 10:43:52 -0700 Subject: [PATCH] Audit - allow queries for "partial" and "accepted" audits Summary: Fixes T5871. These queries get to use the actual column on the commit table since they are about the "aggregate" state of different audits. Test Plan: issues queries and got sensible results. Reviewers: epriestley Reviewed By: epriestley Subscribers: epriestley, Korvin Maniphest Tasks: T5871 Differential Revision: https://secure.phabricator.com/D10271 --- .../query/PhabricatorCommitSearchEngine.php | 2 ++ .../diffusion/query/DiffusionCommitQuery.php | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/applications/audit/query/PhabricatorCommitSearchEngine.php b/src/applications/audit/query/PhabricatorCommitSearchEngine.php index 4cd9e3018f..259cf486aa 100644 --- a/src/applications/audit/query/PhabricatorCommitSearchEngine.php +++ b/src/applications/audit/query/PhabricatorCommitSearchEngine.php @@ -181,6 +181,8 @@ final class PhabricatorCommitSearchEngine DiffusionCommitQuery::AUDIT_STATUS_ANY => pht('Any'), DiffusionCommitQuery::AUDIT_STATUS_OPEN => pht('Open'), DiffusionCommitQuery::AUDIT_STATUS_CONCERN => pht('Concern Raised'), + DiffusionCommitQuery::AUDIT_STATUS_ACCEPTED => pht('Accepted'), + DiffusionCommitQuery::AUDIT_STATUS_PARTIAL => pht('Partially Audited'), ); } diff --git a/src/applications/diffusion/query/DiffusionCommitQuery.php b/src/applications/diffusion/query/DiffusionCommitQuery.php index a565986198..38d7e8bfff 100644 --- a/src/applications/diffusion/query/DiffusionCommitQuery.php +++ b/src/applications/diffusion/query/DiffusionCommitQuery.php @@ -21,6 +21,8 @@ final class DiffusionCommitQuery const AUDIT_STATUS_ANY = 'audit-status-any'; const AUDIT_STATUS_OPEN = 'audit-status-open'; const AUDIT_STATUS_CONCERN = 'audit-status-concern'; + const AUDIT_STATUS_ACCEPTED = 'audit-status-accepted'; + const AUDIT_STATUS_PARTIAL = 'audit-status-partial'; private $needCommitData; @@ -437,6 +439,18 @@ final class DiffusionCommitQuery $status = $this->auditStatus; if ($status !== null) { switch ($status) { + case self::AUDIT_STATUS_PARTIAL: + $where[] = qsprintf( + $conn_r, + 'commit.auditStatus = %d', + PhabricatorAuditCommitStatusConstants::PARTIALLY_AUDITED); + break; + case self::AUDIT_STATUS_ACCEPTED: + $where[] = qsprintf( + $conn_r, + 'commit.auditStatus = %d', + PhabricatorAuditCommitStatusConstants::FULLY_AUDITED); + break; case self::AUDIT_STATUS_CONCERN: $where[] = qsprintf( $conn_r, @@ -462,6 +476,8 @@ final class DiffusionCommitQuery self::AUDIT_STATUS_ANY, self::AUDIT_STATUS_OPEN, self::AUDIT_STATUS_CONCERN, + self::AUDIT_STATUS_ACCEPTED, + self::AUDIT_STATUS_PARTIAL, ); throw new Exception( "Unknown audit status '{$status}'! Valid statuses are: ".