[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

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

   1  <?php
   2  
   3  final class DifferentialSubscribersField
   4    extends DifferentialCoreCustomField {
   5  
   6    public function getFieldKey() {
   7      return 'differential:subscribers';
   8    }
   9  
  10    public function getFieldKeyForConduit() {
  11      return 'ccPHIDs';
  12    }
  13  
  14    public function getFieldName() {
  15      return pht('Subscribers');
  16    }
  17  
  18    public function getFieldDescription() {
  19      return pht('Manage subscribers.');
  20    }
  21  
  22    protected function readValueFromRevision(
  23      DifferentialRevision $revision) {
  24      if (!$revision->getPHID()) {
  25        return array();
  26      }
  27  
  28      return PhabricatorSubscribersQuery::loadSubscribersForPHID(
  29        $revision->getPHID());
  30    }
  31  
  32    public function getNewValueForApplicationTransactions() {
  33      return array('=' => $this->getValue());
  34    }
  35  
  36    public function readValueFromRequest(AphrontRequest $request) {
  37      $this->setValue($request->getArr($this->getFieldKey()));
  38    }
  39  
  40    public function getRequiredHandlePHIDsForEdit() {
  41      return $this->getValue();
  42    }
  43  
  44    public function renderEditControl(array $handles) {
  45      return id(new AphrontFormTokenizerControl())
  46        ->setName($this->getFieldKey())
  47        ->setDatasource(new PhabricatorMetaMTAMailableDatasource())
  48        ->setValue($handles)
  49        ->setError($this->getFieldError())
  50        ->setLabel($this->getFieldName());
  51    }
  52  
  53    public function getApplicationTransactionType() {
  54      return PhabricatorTransactions::TYPE_SUBSCRIBERS;
  55    }
  56  
  57    public function shouldAppearInCommitMessage() {
  58      return true;
  59    }
  60  
  61    public function shouldAllowEditInCommitMessage() {
  62      return true;
  63    }
  64  
  65    public function shouldAppearInCommitMessageTemplate() {
  66      return true;
  67    }
  68  
  69    public function getCommitMessageLabels() {
  70      return array(
  71        'CC',
  72        'CCs',
  73        'Subscriber',
  74        'Subscribers',
  75      );
  76    }
  77  
  78    public function parseValueFromCommitMessage($value) {
  79      return $this->parseObjectList(
  80        $value,
  81        array(
  82          PhabricatorPeopleUserPHIDType::TYPECONST,
  83          PhabricatorProjectProjectPHIDType::TYPECONST,
  84          PhabricatorMailingListListPHIDType::TYPECONST,
  85        ));
  86    }
  87  
  88    public function getRequiredHandlePHIDsForCommitMessage() {
  89      return $this->getValue();
  90    }
  91  
  92    public function renderCommitMessageValue(array $handles) {
  93      return $this->renderObjectList($handles);
  94    }
  95  
  96  }


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