Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/transactions/feed/PhabricatorApplicationTransactionFeedStory.php b/src/applications/transactions/feed/PhabricatorApplicationTransactionFeedStory.php
index c8faf99a94..3b556b8489 100644
--- a/src/applications/transactions/feed/PhabricatorApplicationTransactionFeedStory.php
+++ b/src/applications/transactions/feed/PhabricatorApplicationTransactionFeedStory.php
@@ -1,64 +1,72 @@
<?php
/**
* @concrete-extensible
*/
class PhabricatorApplicationTransactionFeedStory
extends PhabricatorFeedStory {
public function getPrimaryObjectPHID() {
return $this->getValue('objectPHID');
}
public function getRequiredObjectPHIDs() {
- return array(
- $this->getPrimaryTransactionPHID(),
- );
+ return $this->getValue('transactionPHIDs');
}
public function getRequiredHandlePHIDs() {
$phids = array();
- $phids[] = array($this->getValue('objectPHID'));
- $phids[] = $this->getPrimaryTransaction()->getRequiredHandlePHIDs();
- return array_mergev($phids);
+ $phids[] = $this->getValue('objectPHID');
+ foreach ($this->getValue('transactionPHIDs') as $xaction_phid) {
+ $xaction = $this->getObject($xaction_phid);
+ foreach ($xaction->getRequiredHandlePHIDs() as $handle_phid) {
+ $phids[] = $handle_phid;
+ }
+ }
+ return $phids;
}
protected function getPrimaryTransactionPHID() {
return head($this->getValue('transactionPHIDs'));
}
protected function getPrimaryTransaction() {
return $this->getObject($this->getPrimaryTransactionPHID());
}
public function renderView() {
$view = $this->newStoryView();
$handle = $this->getHandle($this->getPrimaryObjectPHID());
$view->setHref($handle->getURI());
$view->setAppIconFromPHID($handle->getPHID());
$xaction_phids = $this->getValue('transactionPHIDs');
- $xaction = $this->getObject(head($xaction_phids));
+ $xaction = $this->getPrimaryTransaction();
$xaction->setHandles($this->getHandles());
$view->setTitle($xaction->getTitleForFeed($this));
- $body = $xaction->getBodyForFeed($this);
- if (nonempty($body)) {
- $view->appendChild($body);
+
+ foreach ($xaction_phids as $xaction_phid) {
+ $secondary_xaction = $this->getObject($xaction_phid);
+ $secondary_xaction->setHandles($this->getHandles());
+
+ $body = $secondary_xaction->getBodyForFeed($this);
+ if (nonempty($body)) {
+ $view->appendChild($body);
+ }
}
$view->setImage(
- $this->getHandle(
- $this->getPrimaryTransaction()->getAuthorPHID())->getImageURI());
+ $this->getHandle($xaction->getAuthorPHID())->getImageURI());
return $view;
}
public function renderText() {
// TODO: This is grotesque; the feed notification handler relies on it.
return strip_tags(hsprintf('%s', $this->renderView()->render()));
}
}

File Metadata

Mime Type
text/x-diff
Expires
Tue, Jul 1, 11:53 AM (6 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
164312
Default Alt Text
(2 KB)

Event Timeline