[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/differential/customfield/ -> DifferentialSummaryField.php (source)

   1  <?php
   2  
   3  final class DifferentialSummaryField
   4    extends DifferentialCoreCustomField {
   5  
   6    public function getFieldKey() {
   7      return 'differential:summary';
   8    }
   9  
  10    public function getFieldKeyForConduit() {
  11      return 'summary';
  12    }
  13  
  14    public function getFieldName() {
  15      return pht('Summary');
  16    }
  17  
  18    public function getFieldDescription() {
  19      return pht('Stores a summary of the revision.');
  20    }
  21  
  22    protected function readValueFromRevision(
  23      DifferentialRevision $revision) {
  24      if (!$revision->getID()) {
  25        return null;
  26      }
  27      return $revision->getSummary();
  28    }
  29  
  30    protected function writeValueToRevision(
  31      DifferentialRevision $revision,
  32      $value) {
  33      $revision->setSummary($value);
  34    }
  35  
  36    public function readValueFromRequest(AphrontRequest $request) {
  37      $this->setValue($request->getStr($this->getFieldKey()));
  38    }
  39  
  40    public function renderEditControl(array $handles) {
  41      return id(new PhabricatorRemarkupControl())
  42        ->setUser($this->getViewer())
  43        ->setName($this->getFieldKey())
  44        ->setValue($this->getValue())
  45        ->setError($this->getFieldError())
  46        ->setLabel($this->getFieldName());
  47    }
  48  
  49    public function getApplicationTransactionTitle(
  50      PhabricatorApplicationTransaction $xaction) {
  51      $author_phid = $xaction->getAuthorPHID();
  52      $old = $xaction->getOldValue();
  53      $new = $xaction->getNewValue();
  54  
  55      return pht(
  56        '%s updated the summary for this revision.',
  57        $xaction->renderHandleLink($author_phid));
  58    }
  59  
  60    public function getApplicationTransactionTitleForFeed(
  61      PhabricatorApplicationTransaction $xaction,
  62      PhabricatorFeedStory $story) {
  63  
  64      $object_phid = $xaction->getObjectPHID();
  65      $author_phid = $xaction->getAuthorPHID();
  66      $old = $xaction->getOldValue();
  67      $new = $xaction->getNewValue();
  68  
  69      return pht(
  70        '%s updated the summary for %s.',
  71        $xaction->renderHandleLink($author_phid),
  72        $xaction->renderHandleLink($object_phid));
  73    }
  74  
  75    public function getApplicationTransactionHasChangeDetails(
  76      PhabricatorApplicationTransaction $xaction) {
  77      return true;
  78    }
  79  
  80    public function getApplicationTransactionChangeDetails(
  81      PhabricatorApplicationTransaction $xaction,
  82      PhabricatorUser $viewer) {
  83      return $xaction->renderTextCorpusChangeDetails(
  84        $viewer,
  85        $xaction->getOldValue(),
  86        $xaction->getNewValue());
  87    }
  88  
  89    public function shouldHideInApplicationTransactions(
  90      PhabricatorApplicationTransaction $xaction) {
  91      return ($xaction->getOldValue() === null);
  92    }
  93  
  94    public function shouldAppearInGlobalSearch() {
  95      return true;
  96    }
  97  
  98    public function updateAbstractDocument(
  99      PhabricatorSearchAbstractDocument $document) {
 100      if (strlen($this->getValue())) {
 101        $document->addField('body', $this->getValue());
 102      }
 103    }
 104  
 105    public function shouldAppearInPropertyView() {
 106      return true;
 107    }
 108  
 109    public function renderPropertyViewLabel() {
 110      return $this->getFieldName();
 111    }
 112  
 113    public function getStyleForPropertyView() {
 114      return 'block';
 115    }
 116  
 117    public function getIconForPropertyView() {
 118      return PHUIPropertyListView::ICON_SUMMARY;
 119    }
 120  
 121    public function renderPropertyViewValue(array $handles) {
 122      if (!strlen($this->getValue())) {
 123        return null;
 124      }
 125  
 126      return PhabricatorMarkupEngine::renderOneObject(
 127        id(new PhabricatorMarkupOneOff())
 128          ->setPreserveLinebreaks(true)
 129          ->setContent($this->getValue()),
 130        'default',
 131        $this->getViewer());
 132    }
 133  
 134    public function getApplicationTransactionRemarkupBlocks(
 135      PhabricatorApplicationTransaction $xaction) {
 136      return array($xaction->getNewValue());
 137    }
 138  
 139    public function shouldAppearInCommitMessage() {
 140      return true;
 141    }
 142  
 143    public function shouldAppearInCommitMessageTemplate() {
 144      return true;
 145    }
 146  
 147    public function shouldOverwriteWhenCommitMessageIsEdited() {
 148      return true;
 149    }
 150  
 151    public function shouldAppearInTransactionMail() {
 152      return true;
 153    }
 154  
 155    public function updateTransactionMailBody(
 156      PhabricatorMetaMTAMailBody $body,
 157      PhabricatorApplicationTransactionEditor $editor,
 158      array $xactions) {
 159  
 160      if (!$editor->getIsNewObject()) {
 161        return;
 162      }
 163  
 164      $summary = $this->getValue();
 165      if (!strlen(trim($summary))) {
 166        return;
 167      }
 168  
 169      $body->addTextSection(pht('REVISION SUMMARY'), $summary);
 170    }
 171  
 172  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1