Page MenuHomePhabricator

D17221.diff
No OneTemporary

D17221.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -617,6 +617,7 @@
'DiffusionCommitActionTransaction' => 'applications/diffusion/xaction/DiffusionCommitActionTransaction.php',
'DiffusionCommitAffectedFilesHeraldField' => 'applications/diffusion/herald/DiffusionCommitAffectedFilesHeraldField.php',
'DiffusionCommitAuditTransaction' => 'applications/diffusion/xaction/DiffusionCommitAuditTransaction.php',
+ 'DiffusionCommitAuditorsHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuditorsHeraldField.php',
'DiffusionCommitAuditorsTransaction' => 'applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php',
'DiffusionCommitAuthorHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuthorHeraldField.php',
'DiffusionCommitAutocloseHeraldField' => 'applications/diffusion/herald/DiffusionCommitAutocloseHeraldField.php',
@@ -5321,6 +5322,7 @@
'DiffusionCommitActionTransaction' => 'DiffusionCommitTransactionType',
'DiffusionCommitAffectedFilesHeraldField' => 'DiffusionCommitHeraldField',
'DiffusionCommitAuditTransaction' => 'DiffusionCommitActionTransaction',
+ 'DiffusionCommitAuditorsHeraldField' => 'DiffusionCommitHeraldField',
'DiffusionCommitAuditorsTransaction' => 'DiffusionCommitTransactionType',
'DiffusionCommitAuthorHeraldField' => 'DiffusionCommitHeraldField',
'DiffusionCommitAutocloseHeraldField' => 'DiffusionCommitHeraldField',
diff --git a/src/applications/diffusion/herald/DiffusionCommitAuditorsHeraldField.php b/src/applications/diffusion/herald/DiffusionCommitAuditorsHeraldField.php
new file mode 100644
--- /dev/null
+++ b/src/applications/diffusion/herald/DiffusionCommitAuditorsHeraldField.php
@@ -0,0 +1,41 @@
+<?php
+
+final class DiffusionCommitAuditorsHeraldField
+ extends DiffusionCommitHeraldField {
+
+ const FIELDCONST = 'diffusion.commit.auditors';
+
+ public function getHeraldFieldName() {
+ return pht('Auditors');
+ }
+
+ public function getHeraldFieldValue($object) {
+ $viewer = PhabricatorUser::getOmnipotentUser();
+
+ $commit = id(new DiffusionCommitQuery())
+ ->setViewer($viewer)
+ ->withPHIDs(array($object->getPHID()))
+ ->needAuditRequests(true)
+ ->executeOne();
+
+ $audits = $commit->getAudits();
+
+ $phids = array();
+ foreach ($audits as $audit) {
+ if ($audit->isActiveAudit()) {
+ $phids[] = $audit->getAuditorPHID();
+ }
+ }
+
+ return $phids;
+ }
+
+ protected function getHeraldFieldStandardType() {
+ return self::STANDARD_PHID_LIST;
+ }
+
+ protected function getDatasource() {
+ return new DiffusionAuditorDatasource();
+ }
+
+}
diff --git a/src/applications/repository/storage/PhabricatorRepositoryAuditRequest.php b/src/applications/repository/storage/PhabricatorRepositoryAuditRequest.php
--- a/src/applications/repository/storage/PhabricatorRepositoryAuditRequest.php
+++ b/src/applications/repository/storage/PhabricatorRepositoryAuditRequest.php
@@ -49,6 +49,19 @@
return $this->assertAttached($this->commit);
}
+ public function isActiveAudit() {
+ switch ($this->getAuditStatus()) {
+ case PhabricatorAuditStatusConstants::NONE:
+ case PhabricatorAuditStatusConstants::AUDIT_NOT_REQUIRED:
+ case PhabricatorAuditStatusConstants::RESIGNED:
+ case PhabricatorAuditStatusConstants::CLOSED:
+ case PhabricatorAuditStatusConstants::CC:
+ return false;
+ }
+
+ return true;
+ }
+
public function isInteresting() {
switch ($this->getAuditStatus()) {
case PhabricatorAuditStatusConstants::NONE:

File Metadata

Mime Type
text/plain
Expires
Sat, May 11, 11:18 PM (3 w, 2 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6286930
Default Alt Text
D17221.diff (3 KB)

Event Timeline