From 57761ce2202a751cbbce9bf5b9bfd1e94d6fb924 Mon Sep 17 00:00:00 2001 From: Bob Trahan Date: Wed, 14 Jan 2015 17:23:18 -0800 Subject: [PATCH] Differential - re-jigger mail such that inline comments show up right after the main comments. Summary: Ref T6962. Mainly accomplished by re-factoring the base editor `buildMailBody` function and then using it differently in the `DifferentialTransactionEditor`. Test Plan: commented on a revision leaving inline feedback. inspected via bin/mail and it looked good! also made a maniphest comment and checked that email, which still looked good. Reviewers: chad, epriestley Reviewed By: epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T6962 Differential Revision: https://secure.phabricator.com/D11402 --- .../editor/DifferentialTransactionEditor.php | 17 +++++++---- ...habricatorApplicationTransactionEditor.php | 30 +++++++++++++++---- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/applications/differential/editor/DifferentialTransactionEditor.php b/src/applications/differential/editor/DifferentialTransactionEditor.php index a456b634c1..9be0e959f3 100644 --- a/src/applications/differential/editor/DifferentialTransactionEditor.php +++ b/src/applications/differential/editor/DifferentialTransactionEditor.php @@ -1137,7 +1137,10 @@ final class DifferentialTransactionEditor PhabricatorLiskDAO $object, array $xactions) { - $body = parent::buildMailBody($object, $xactions); + $body = new PhabricatorMetaMTAMailBody(); + $body->setViewer($this->requireActor()); + + $this->addHeadersAndCommentsToMailBody($body, $xactions); $type_inline = DifferentialTransaction::TYPE_INLINE; @@ -1148,6 +1151,12 @@ final class DifferentialTransactionEditor } } + if ($inlines) { + $body->addTextSection( + pht('INLINE COMMENTS'), + $this->renderInlineCommentsForMail($object, $inlines)); + } + $changed_uri = $this->getChangedPriorToCommitURI(); if ($changed_uri) { $body->addLinkSection( @@ -1155,11 +1164,7 @@ final class DifferentialTransactionEditor $changed_uri); } - if ($inlines) { - $body->addTextSection( - pht('INLINE COMMENTS'), - $this->renderInlineCommentsForMail($object, $inlines)); - } + $this->addCustomFieldsToMailBody($body, $object, $xactions); $body->addLinkSection( pht('REVISION DETAIL'), diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php index 27051395e9..ee1b9f4e7c 100644 --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -2191,6 +2191,21 @@ abstract class PhabricatorApplicationTransactionEditor PhabricatorLiskDAO $object, array $xactions) { + $body = new PhabricatorMetaMTAMailBody(); + $body->setViewer($this->requireActor()); + + $this->addHeadersAndCommentsToMailBody($body, $xactions); + $this->addCustomFieldsToMailBody($body, $object, $xactions); + return $body; + } + + /** + * @task mail + */ + protected function addHeadersAndCommentsToMailBody( + PhabricatorMetaMTAMailBody $body, + array $xactions) { + $headers = array(); $comments = array(); @@ -2209,14 +2224,20 @@ abstract class PhabricatorApplicationTransactionEditor $comments[] = $comment; } } - - $body = new PhabricatorMetaMTAMailBody(); - $body->setViewer($this->requireActor()); $body->addRawSection(implode("\n", $headers)); foreach ($comments as $comment) { $body->addRemarkupSection($comment); } + } + + /** + * @task mail + */ + protected function addCustomFieldsToMailBody( + PhabricatorMetaMTAMailBody $body, + PhabricatorLiskDAO $object, + array $xactions) { if ($object instanceof PhabricatorCustomFieldInterface) { $field_list = PhabricatorCustomField::getObjectFields( @@ -2232,11 +2253,10 @@ abstract class PhabricatorApplicationTransactionEditor $xactions); } } - - return $body; } + /* -( Publishing Feed Stories )-------------------------------------------- */ -- 2.51.2