protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $detail_uri = PhabricatorEnv::getProductionURI($object->getURI());
     $body->addLinkSection(pht('PACKAGE DETAIL'), $detail_uri);
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $uri = '/project/profile/' . $object->getID() . '/';
     $body->addLinkSection(pht('PROJECT DETAIL'), PhabricatorEnv::getProductionURI($uri));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $type_inline = DifferentialTransaction::TYPE_INLINE;
     $inlines = array();
     foreach ($xactions as $xaction) {
         if ($xaction->getTransactionType() == $type_inline) {
             $inlines[] = $xaction;
         }
     }
     $changed_uri = $this->getChangedPriorToCommitURI();
     if ($changed_uri) {
         $body->addTextSection(pht('CHANGED PRIOR TO COMMIT'), $changed_uri);
     }
     if ($inlines) {
         $body->addTextSection(pht('INLINE COMMENTS'), $this->renderInlineCommentsForMail($object, $inlines));
     }
     $body->addTextSection(pht('REVISION DETAIL'), PhabricatorEnv::getProductionURI('/D' . $object->getID()));
     $update_xaction = null;
     foreach ($xactions as $xaction) {
         switch ($xaction->getTransactionType()) {
             case DifferentialTransaction::TYPE_UPDATE:
                 $update_xaction = $xaction;
                 break;
         }
     }
     if ($update_xaction) {
         $diff = $this->requireDiff($update_xaction->getNewValue(), true);
         $body->addTextSection(pht('AFFECTED FILES'), $this->renderAffectedFilesForMail($diff));
         $config_key_inline = 'metamta.differential.inline-patches';
         $config_inline = PhabricatorEnv::getEnvConfig($config_key_inline);
         $config_key_attach = 'metamta.differential.attach-patches';
         $config_attach = PhabricatorEnv::getEnvConfig($config_key_attach);
         if ($config_inline || $config_attach) {
             $patch_section = $this->renderPatchForMail($diff);
             $lines = count(phutil_split_lines($patch_section->getPlaintext()));
             if ($config_inline && $lines <= $config_inline) {
                 $body->addTextSection(pht('CHANGE DETAILS'), $patch_section);
             }
             if ($config_attach) {
                 $name = pht('D%s.%s.patch', $object->getID(), $diff->getID());
                 $mime_type = 'text/x-patch; charset=utf-8';
                 $body->addAttachment(new PhabricatorMetaMTAAttachment($patch_section->getPlaintext(), $name, $mime_type));
             }
         }
     }
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $type_inline = PhabricatorAuditActionConstants::INLINE;
     $inlines = array();
     foreach ($xactions as $xaction) {
         if ($xaction->getTransactionType() == $type_inline) {
             $inlines[] = $xaction;
         }
     }
     if ($inlines) {
         $body->addTextSection(pht('INLINE COMMENTS'), $this->renderInlineCommentsForMail($object, $inlines));
     }
     // Reload the commit to pull commit data.
     $commit = id(new DiffusionCommitQuery())->setViewer($this->requireActor())->withIDs(array($object->getID()))->needCommitData(true)->executeOne();
     $data = $commit->getCommitData();
     $user_phids = array();
     $author_phid = $commit->getAuthorPHID();
     if ($author_phid) {
         $user_phids[$commit->getAuthorPHID()][] = pht('Author');
     }
     $committer_phid = $data->getCommitDetail('committerPHID');
     if ($committer_phid && $committer_phid != $author_phid) {
         $user_phids[$committer_phid][] = pht('Committer');
     }
     // TODO: It would be nice to show pusher here too, but that information
     // is a little tricky to get at right now.
     if ($user_phids) {
         $handle_phids = array_keys($user_phids);
         $handles = id(new PhabricatorHandleQuery())->setViewer($this->requireActor())->withPHIDs($handle_phids)->execute();
         $user_info = array();
         foreach ($user_phids as $phid => $roles) {
             $user_info[] = pht('%s (%s)', $handles[$phid]->getName(), implode(', ', $roles));
         }
         $body->addTextSection(pht('USERS'), implode("\n", $user_info));
     }
     $monogram = $object->getRepository()->formatCommitName($object->getCommitIdentifier());
     $body->addTextSection(pht('COMMIT'), PhabricatorEnv::getProductionURI('/' . $monogram));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $body->addLinkSection(pht('CONPHERENCE DETAIL'), PhabricatorEnv::getProductionURI('/' . $object->getMonogram()));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     if ($this->getIsNewObject()) {
         $body->addRemarkupSection(pht('TASK DESCRIPTION'), $object->getDescription());
     }
     $body->addLinkSection(pht('TASK DETAIL'), PhabricatorEnv::getProductionURI('/T' . $object->getID()));
     $board_phids = array();
     $type_column = ManiphestTransaction::TYPE_PROJECT_COLUMN;
     foreach ($xactions as $xaction) {
         if ($xaction->getTransactionType() == $type_column) {
             $new = $xaction->getNewValue();
             $project_phid = idx($new, 'projectPHID');
             if ($project_phid) {
                 $board_phids[] = $project_phid;
             }
         }
     }
     if ($board_phids) {
         $projects = id(new PhabricatorProjectQuery())->setViewer($this->requireActor())->withPHIDs($board_phids)->execute();
         foreach ($projects as $project) {
             $body->addLinkSection(pht('WORKBOARD'), PhabricatorEnv::getProductionURI('/project/board/' . $project->getID() . '/'));
         }
     }
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $body->addTextSection(pht('MACRO DETAIL'), PhabricatorEnv::getProductionURI('/macro/view/' . $object->getID() . '/'));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $body->addTextSection(pht('SECURITY WARNING'), pht('If you do not recognize this change, it may indicate your account ' . 'has been compromised.'));
     $detail_uri = $object->getURI();
     $detail_uri = PhabricatorEnv::getProductionURI($detail_uri);
     $body->addLinkSection(pht('SSH KEY DETAIL'), $detail_uri);
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $description = $object->getDescription();
     $body = parent::buildMailBody($object, $xactions);
     if (strlen($description)) {
         $body->addRemarkupSection(pht('EVENT DESCRIPTION'), $description);
     }
     $body->addLinkSection(pht('EVENT DETAIL'), PhabricatorEnv::getProductionURI('/E' . $object->getID()));
     $ics_attachment = $this->newICSAttachment($object);
     $body->addAttachment($ics_attachment);
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     if ($this->getIsNewObject()) {
         $body->addTextSection(pht('TASK DESCRIPTION'), $object->getDescription());
     }
     $body->addTextSection(pht('TASK DETAIL'), PhabricatorEnv::getProductionURI('/T' . $object->getID()));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $rq = $object;
     $releeph_branch = $rq->getBranch();
     $releeph_project = $releeph_branch->getProduct();
     /**
      * If any of the events we are emailing about were about a pick failure
      * (and/or a revert failure?), include pick failure instructions.
      */
     $has_pick_failure = false;
     foreach ($xactions as $xaction) {
         if ($xaction->getTransactionType() === ReleephRequestTransaction::TYPE_PICK_STATUS && $xaction->getNewValue() === ReleephRequest::PICK_FAILED) {
             $has_pick_failure = true;
             break;
         }
     }
     if ($has_pick_failure) {
         $instructions = $releeph_project->getDetail('pick_failure_instructions');
         if ($instructions) {
             $body->addTextSection(pht('PICK FAILURE INSTRUCTIONS'), $instructions);
         }
     }
     $name = sprintf('RQ%s: %s', $rq->getID(), $rq->getSummaryForDisplay());
     $body->addTextSection(pht('RELEEPH REQUEST'), $name . "\n" . PhabricatorEnv::getProductionURI('/RQ' . $rq->getID()));
     $project_and_branch = sprintf('%s - %s', $releeph_project->getName(), $releeph_branch->getDisplayNameWithDetail());
     $body->addTextSection(pht('RELEEPH BRANCH'), $project_and_branch . "\n" . PhabricatorEnv::getProductionURI($releeph_branch->getURI()));
     return $body;
 }
Example #12
0
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     if ($this->isInvoice()) {
         $issues = $this->getInvoiceIssues();
         foreach ($issues as $key => $issue) {
             $issues[$key] = '  - ' . $issue;
         }
         $issues = implode("\n", $issues);
         $overview = pht("Payment for this invoice could not be processed automatically:\n\n" . "%s", $issues);
         $body->addRemarkupSection(null, $overview);
         $body->addLinkSection(pht('PAY NOW'), PhabricatorEnv::getProductionURI($object->getCheckoutURI()));
     }
     $items = array();
     foreach ($object->getPurchases() as $purchase) {
         $name = $purchase->getFullDisplayName();
         $price = $purchase->getTotalPriceAsCurrency()->formatForDisplay();
         $items[] = "{$name} {$price}";
     }
     $body->addTextSection(pht('ORDER CONTENTS'), implode("\n", $items));
     if ($this->isInvoice()) {
         $subscription = id(new PhortuneSubscriptionQuery())->setViewer($this->requireActor())->withPHIDs(array($object->getSubscriptionPHID()))->executeOne();
         if ($subscription) {
             $body->addLinkSection(pht('SUBSCRIPTION'), PhabricatorEnv::getProductionURI($subscription->getURI()));
         }
     } else {
         $body->addLinkSection(pht('ORDER DETAIL'), PhabricatorEnv::getProductionURI($object->getDetailURI()));
     }
     $account_uri = '/phortune/' . $object->getAccount()->getID() . '/';
     $body->addLinkSection(pht('ACCOUNT OVERVIEW'), PhabricatorEnv::getProductionURI($account_uri));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     if ($this->getIsNewObject()) {
         $body->addRemarkupSection(null, $object->getBody());
     }
     $body->addLinkSection(pht('POST DETAIL'), PhabricatorEnv::getProductionURI($object->getViewURI()));
     return $body;
 }
Example #14
0
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $body->addTextSection(pht('CONPHERENCE DETAIL'), PhabricatorEnv::getProductionURI('/conpherence/' . $object->getID() . '/'));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $body->addTextSection(pht('FILE DETAIL'), PhabricatorEnv::getProductionURI($object->getInfoURI()));
     return $body;
 }
Example #16
0
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     // We don't send mail if the object is a draft, and we only want
     // to include the full body of the post on the either the
     // first creation or if it was created as a draft, once it goes live.
     if ($this->getIsNewObject()) {
         $body->addRemarkupSection(null, $object->getBody());
     } else {
         foreach ($xactions as $xaction) {
             switch ($xaction->getTransactionType()) {
                 case PhamePostTransaction::TYPE_VISIBILITY:
                     if (!$object->isDraft()) {
                         $body->addRemarkupSection(null, $object->getBody());
                     }
                     break;
             }
         }
     }
     $body->addLinkSection(pht('POST DETAIL'), PhabricatorEnv::getProductionURI($object->getViewURI()));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $description = $object->getDescription();
     $body = parent::buildMailBody($object, $xactions);
     if (strlen($description)) {
         $body->addRemarkupSection(pht('URL DESCRIPTION'), $object->getDescription());
     }
     $body->addLinkSection(pht('URL DETAIL'), PhabricatorEnv::getProductionURI('/U' . $object->getID()));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $body->addLinkSection(pht('DOCUMENT DETAIL'), PhabricatorEnv::getProductionURI('/legalpad/view/' . $object->getID() . '/'));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     $description = $object->getDescription();
     if (strlen($description)) {
         $body->addTextSection(pht('SLOWVOTE DESCRIPTION'), $object->getDescription());
     }
     $body->addLinkSection(pht('SLOWVOTE DETAIL'), PhabricatorEnv::getProductionURI('/' . $object->getMonogram()));
     return $body;
 }
 protected function buildMailBody(PhabricatorLiskDAO $object, array $xactions)
 {
     $body = parent::buildMailBody($object, $xactions);
     if ($this->getIsNewObject()) {
         $body->addRemarkupSection(pht('DOCUMENT CONTENT'), $object->getContent()->getContent());
     } else {
         if ($this->contentDiffURI) {
             $body->addLinkSection(pht('DOCUMENT DIFF'), PhabricatorEnv::getProductionURI($this->contentDiffURI));
         }
     }
     $description = $object->getContent()->getDescription();
     if (strlen($description)) {
         $body->addTextSection(pht('EDIT NOTES'), $description);
     }
     $body->addLinkSection(pht('DOCUMENT DETAIL'), PhabricatorEnv::getProductionURI(PhrictionDocument::getSlugURI($object->getSlug())));
     return $body;
 }