Page MenuHomePhabricator

D20955.diff
No OneTemporary

D20955.diff

diff --git a/src/applications/diffusion/herald/DiffusionCommitAuthorHeraldField.php b/src/applications/diffusion/herald/DiffusionCommitAuthorHeraldField.php
--- a/src/applications/diffusion/herald/DiffusionCommitAuthorHeraldField.php
+++ b/src/applications/diffusion/herald/DiffusionCommitAuthorHeraldField.php
@@ -10,7 +10,7 @@
}
public function getHeraldFieldValue($object) {
- return $object->getCommitData()->getCommitDetail('authorPHID');
+ return $this->getAdapter()->getAuthorPHID();
}
protected function getHeraldFieldStandardType() {
diff --git a/src/applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php b/src/applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php
--- a/src/applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php
+++ b/src/applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php
@@ -11,14 +11,13 @@
public function getHeraldFieldValue($object) {
$adapter = $this->getAdapter();
+ $viewer = $adapter->getViewer();
- $phid = $object->getCommitData()->getCommitDetail('authorPHID');
+ $phid = $adapter->getAuthorPHID();
if (!$phid) {
return array();
}
- $viewer = $adapter->getViewer();
-
$projects = id(new PhabricatorProjectQuery())
->setViewer($viewer)
->withMemberPHIDs(array($phid))
diff --git a/src/applications/diffusion/herald/DiffusionCommitCommitterHeraldField.php b/src/applications/diffusion/herald/DiffusionCommitCommitterHeraldField.php
--- a/src/applications/diffusion/herald/DiffusionCommitCommitterHeraldField.php
+++ b/src/applications/diffusion/herald/DiffusionCommitCommitterHeraldField.php
@@ -10,7 +10,7 @@
}
public function getHeraldFieldValue($object) {
- return $object->getCommitData()->getCommitDetail('committerPHID');
+ return $this->getAdapter()->getCommitterPHID();
}
protected function getHeraldFieldStandardType() {
diff --git a/src/applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php b/src/applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php
--- a/src/applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php
+++ b/src/applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php
@@ -11,8 +11,9 @@
public function getHeraldFieldValue($object) {
$adapter = $this->getAdapter();
+ $viewer = $adapter->getViewer();
- $phid = $object->getCommitData()->getCommitDetail('committerPHID');
+ $phid = $adapter->getCommitterPHID();
if (!$phid) {
return array();
}
diff --git a/src/applications/diffusion/herald/HeraldCommitAdapter.php b/src/applications/diffusion/herald/HeraldCommitAdapter.php
--- a/src/applications/diffusion/herald/HeraldCommitAdapter.php
+++ b/src/applications/diffusion/herald/HeraldCommitAdapter.php
@@ -35,18 +35,6 @@
}
public function newTestAdapter(PhabricatorUser $viewer, $object) {
- $object = id(new DiffusionCommitQuery())
- ->setViewer($viewer)
- ->withPHIDs(array($object->getPHID()))
- ->needCommitData(true)
- ->executeOne();
- if (!$object) {
- throw new Exception(
- pht(
- 'Failed to reload commit ("%s") to fetch commit data.',
- $object->getPHID()));
- }
-
return id(clone $this)
->setObject($object);
}
@@ -56,7 +44,23 @@
}
public function setObject($object) {
- $this->commit = $object;
+ $viewer = $this->getViewer();
+ $commit_phid = $object->getPHID();
+
+ $commit = id(new DiffusionCommitQuery())
+ ->setViewer($viewer)
+ ->withPHIDs(array($commit_phid))
+ ->needCommitData(true)
+ ->needIdentities(true)
+ ->executeOne();
+ if (!$commit) {
+ throw new Exception(
+ pht(
+ 'Failed to reload commit ("%s") to fetch commit data.',
+ $commit_phid));
+ }
+
+ $this->commit = $commit;
return $this;
}
@@ -352,6 +356,22 @@
return $this->getObject()->getRepository();
}
+ public function getAuthorPHID() {
+ return $this->getObject()->getEffectiveAuthorPHID();
+ }
+
+ public function getCommitterPHID() {
+ $commit = $this->getObject();
+
+ if ($commit->hasCommitterIdentity()) {
+ $identity = $commit->getCommitterIdentity();
+ return $identity->getCurrentEffectiveUserPHID();
+ }
+
+ return null;
+ }
+
+
/* -( HarbormasterBuildableAdapterInterface )------------------------------ */

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 7, 6:08 PM (2 w, 18 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7341688
Default Alt Text
D20955.diff (4 KB)

Event Timeline