Page MenuHomePhabricator

D15443.diff
No OneTemporary

D15443.diff

diff --git a/src/applications/maniphest/storage/ManiphestTransaction.php b/src/applications/maniphest/storage/ManiphestTransaction.php
--- a/src/applications/maniphest/storage/ManiphestTransaction.php
+++ b/src/applications/maniphest/storage/ManiphestTransaction.php
@@ -987,4 +987,13 @@
return parent::getNoEffectDescription();
}
+ public function shouldRenderBeneathComments() {
+ switch ($this->getTransactionType()) {
+ case self::TYPE_STATUS:
+ return true;
+ }
+
+ return parent::shouldRenderBeneathComments();
+ }
+
}
diff --git a/src/applications/transactions/storage/PhabricatorApplicationTransaction.php b/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
--- a/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
+++ b/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
@@ -667,6 +667,10 @@
return $this->shouldHide();
}
+ public function shouldRenderBeneathComments() {
+ return false;
+ }
+
public function getTitleForMail() {
return id(clone $this)->setRenderingTarget('text')->getTitle();
}
diff --git a/src/applications/transactions/view/PhabricatorApplicationTransactionView.php b/src/applications/transactions/view/PhabricatorApplicationTransactionView.php
--- a/src/applications/transactions/view/PhabricatorApplicationTransactionView.php
+++ b/src/applications/transactions/view/PhabricatorApplicationTransactionView.php
@@ -382,6 +382,34 @@
$groups[] = $group;
}
+ $adjusted_groups = array();
+ foreach ($groups as $group) {
+ $has_comment = false;
+ $attachments = array();
+ $comment_type = PhabricatorTransactions::TYPE_COMMENT;
+ foreach ($group as $key => $xaction) {
+ if ($xaction->getTransactionType() == $comment_type) {
+ $has_comment = true;
+ }
+ if ($xaction->shouldRenderBeneathComments()) {
+ $attachments[$key] = $xaction;
+ }
+ }
+
+ if ($has_comment) {
+ foreach ($attachments as $key => $attachment) {
+ unset($group[$key]);
+ }
+ $adjusted_groups[] = $group;
+ foreach ($attachments as $attachment) {
+ $adjusted_groups[] = array($attachment);
+ }
+ } else {
+ $adjusted_groups[] = $group;
+ }
+ }
+ $groups = $adjusted_groups;
+
foreach ($groups as $key => $group) {
$results = array();

File Metadata

Mime Type
text/plain
Expires
Fri, May 10, 11:52 PM (3 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6284531
Default Alt Text
D15443.diff (2 KB)

Event Timeline