[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/nuance/editor/ -> NuanceSourceEditor.php (source)

   1  <?php
   2  
   3  final class NuanceSourceEditor
   4    extends PhabricatorApplicationTransactionEditor {
   5  
   6    public function getEditorApplicationClass() {
   7      return 'PhabricatorNuanceApplication';
   8    }
   9  
  10    public function getEditorObjectsDescription() {
  11      return pht('Nuance Sources');
  12    }
  13  
  14    public function getTransactionTypes() {
  15      $types = parent::getTransactionTypes();
  16  
  17      $types[] = NuanceSourceTransaction::TYPE_NAME;
  18  
  19      $types[] = PhabricatorTransactions::TYPE_EDGE;
  20      $types[] = PhabricatorTransactions::TYPE_COMMENT;
  21      $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY;
  22      $types[] = PhabricatorTransactions::TYPE_EDIT_POLICY;
  23  
  24      return $types;
  25    }
  26  
  27    protected function getCustomTransactionOldValue(
  28      PhabricatorLiskDAO $object,
  29      PhabricatorApplicationTransaction $xaction) {
  30  
  31      switch ($xaction->getTransactionType()) {
  32        case NuanceSourceTransaction::TYPE_NAME:
  33          return $object->getName();
  34      }
  35  
  36      return parent::getCustomTransactionOldValue($object, $xaction);
  37    }
  38  
  39    protected function getCustomTransactionNewValue(
  40      PhabricatorLiskDAO $object,
  41      PhabricatorApplicationTransaction $xaction) {
  42  
  43      switch ($xaction->getTransactionType()) {
  44        case NuanceSourceTransaction::TYPE_NAME:
  45          return $xaction->getNewValue();
  46      }
  47  
  48      return parent::getCustomTransactionNewValue($object, $xaction);
  49    }
  50  
  51    protected function applyCustomInternalTransaction(
  52      PhabricatorLiskDAO $object,
  53      PhabricatorApplicationTransaction $xaction) {
  54  
  55      switch ($xaction->getTransactionType()) {
  56        case NuanceSourceTransaction::TYPE_NAME:
  57          $object->setName($xaction->getNewValue());
  58          break;
  59      }
  60    }
  61  
  62    protected function applyCustomExternalTransaction(
  63      PhabricatorLiskDAO $object,
  64      PhabricatorApplicationTransaction $xaction) {
  65  
  66      switch ($xaction->getTransactionType()) {
  67        case NuanceSourceTransaction::TYPE_NAME:
  68          return;
  69      }
  70  
  71      return parent::applyCustomExternalTransaction($object, $xaction);
  72    }
  73  
  74    protected function validateTransaction(
  75      PhabricatorLiskDAO $object,
  76      $type,
  77      array $xactions) {
  78  
  79      $errors = parent::validateTransaction($object, $type, $xactions);
  80  
  81      switch ($type) {
  82        case NuanceSourceTransaction::TYPE_NAME:
  83          $missing = $this->validateIsEmptyTextField(
  84            $object->getName(),
  85            $xactions);
  86  
  87          if ($missing) {
  88            $error = new PhabricatorApplicationTransactionValidationError(
  89              $type,
  90              pht('Required'),
  91              pht('Source name is required.'),
  92              nonempty(last($xactions), null));
  93  
  94            $error->setIsMissingFieldError(true);
  95            $errors[] = $error;
  96          }
  97          break;
  98      }
  99  
 100      return $errors;
 101    }
 102  
 103  }


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