Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/audit/mail/PhabricatorAuditReplyHandler.php b/src/applications/audit/mail/PhabricatorAuditReplyHandler.php
index c215366d0a..f4b77af3f4 100644
--- a/src/applications/audit/mail/PhabricatorAuditReplyHandler.php
+++ b/src/applications/audit/mail/PhabricatorAuditReplyHandler.php
@@ -1,51 +1,63 @@
<?php
final class PhabricatorAuditReplyHandler extends PhabricatorMailReplyHandler {
public function validateMailReceiver($mail_receiver) {
if (!($mail_receiver instanceof PhabricatorRepositoryCommit)) {
throw new Exception('Mail receiver is not a commit!');
}
}
public function getPrivateReplyHandlerEmailAddress(
PhabricatorObjectHandle $handle) {
return $this->getDefaultPrivateReplyHandlerEmailAddress($handle, 'C');
}
public function getPublicReplyHandlerEmailAddress() {
return $this->getDefaultPublicReplyHandlerEmailAddress('C');
}
public function getReplyHandlerDomain() {
return PhabricatorEnv::getEnvConfig(
'metamta.diffusion.reply-handler-domain');
}
public function getReplyHandlerInstructions() {
if ($this->supportsReplies()) {
return pht('Reply to comment.');
} else {
return null;
}
}
protected function receiveEmail(PhabricatorMetaMTAReceivedMail $mail) {
$commit = $this->getMailReceiver();
$actor = $this->getActor();
+ $message = $mail->getCleanTextBody();
- // TODO: Support !raise, !accept, etc.
- // TODO: Content sources.
+ $content_source = PhabricatorContentSource::newForSource(
+ PhabricatorContentSource::SOURCE_EMAIL,
+ array(
+ 'id' => $mail->getID(),
+ ));
- $comment = id(new PhabricatorAuditComment())
- ->setAction(PhabricatorAuditActionConstants::COMMENT)
- ->setContent($mail->getCleanTextBody());
+ // TODO: Support !raise, !accept, etc.
- $editor = new PhabricatorAuditCommentEditor($commit);
- $editor->setActor($actor);
- $editor->setExcludeMailRecipientPHIDs(
- $this->getExcludeMailRecipientPHIDs());
- $editor->addComments(array($comment));
+ $xactions = array();
+
+ $xactions[] = id(new PhabricatorAuditTransaction())
+ ->setTransactionType(PhabricatorTransactions::TYPE_COMMENT)
+ ->attachComment(
+ id(new PhabricatorAuditTransactionComment())
+ ->setCommitPHID($commit->getPHID())
+ ->setContent($message));
+
+ $editor = id(new PhabricatorAuditEditor($commit))
+ ->setActor($actor)
+ ->setContentSource($content_source)
+ ->setExcludeMailRecipientPHIDs($this->getExcludeMailRecipientPHIDs())
+ ->setContinueOnMissingFields(true)
+ ->applyTransactions($commit, $xactions);
}
}

File Metadata

Mime Type
text/x-diff
Expires
Fri, Nov 14, 6:25 PM (1 d, 22 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
337267
Default Alt Text
(2 KB)

Event Timeline