[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/phortune/editor/ -> PhortuneMerchantEditor.php (source)

   1  <?php
   2  
   3  final class PhortuneMerchantEditor
   4    extends PhabricatorApplicationTransactionEditor {
   5  
   6    public function getEditorApplicationClass() {
   7      return 'PhabricatorPhortuneApplication';
   8    }
   9  
  10    public function getEditorObjectsDescription() {
  11      return pht('Phortune Merchants');
  12    }
  13  
  14    public function getTransactionTypes() {
  15      $types = parent::getTransactionTypes();
  16  
  17      $types[] = PhortuneMerchantTransaction::TYPE_NAME;
  18      $types[] = PhortuneMerchantTransaction::TYPE_DESCRIPTION;
  19      $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY;
  20      $types[] = PhabricatorTransactions::TYPE_EDGE;
  21  
  22      return $types;
  23    }
  24  
  25    protected function getCustomTransactionOldValue(
  26      PhabricatorLiskDAO $object,
  27      PhabricatorApplicationTransaction $xaction) {
  28      switch ($xaction->getTransactionType()) {
  29        case PhortuneMerchantTransaction::TYPE_NAME:
  30          return $object->getName();
  31        case PhortuneMerchantTransaction::TYPE_DESCRIPTION:
  32          return $object->getDescription();
  33      }
  34  
  35      return parent::getCustomTransactionOldValue($object, $xaction);
  36    }
  37  
  38    protected function getCustomTransactionNewValue(
  39      PhabricatorLiskDAO $object,
  40      PhabricatorApplicationTransaction $xaction) {
  41  
  42      switch ($xaction->getTransactionType()) {
  43        case PhortuneMerchantTransaction::TYPE_NAME:
  44        case PhortuneMerchantTransaction::TYPE_DESCRIPTION:
  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 PhortuneMerchantTransaction::TYPE_NAME:
  57          $object->setName($xaction->getNewValue());
  58          return;
  59        case PhortuneMerchantTransaction::TYPE_DESCRIPTION:
  60          $object->setDescription($xaction->getNewValue());
  61          return;
  62        case PhabricatorTransactions::TYPE_EDGE:
  63        case PhabricatorTransactions::TYPE_VIEW_POLICY:
  64          return;
  65      }
  66  
  67      return parent::applyCustomInternalTransaction($object, $xaction);
  68    }
  69  
  70    protected function applyCustomExternalTransaction(
  71      PhabricatorLiskDAO $object,
  72      PhabricatorApplicationTransaction $xaction) {
  73  
  74      switch ($xaction->getTransactionType()) {
  75        case PhortuneMerchantTransaction::TYPE_NAME:
  76        case PhortuneMerchantTransaction::TYPE_DESCRIPTION:
  77        case PhabricatorTransactions::TYPE_EDGE:
  78        case PhabricatorTransactions::TYPE_VIEW_POLICY:
  79          return;
  80      }
  81  
  82      return parent::applyCustomExternalTransaction($object, $xaction);
  83    }
  84  
  85    protected function validateTransaction(
  86      PhabricatorLiskDAO $object,
  87      $type,
  88      array $xactions) {
  89  
  90      $errors = parent::validateTransaction($object, $type, $xactions);
  91  
  92      switch ($type) {
  93        case PhortuneMerchantTransaction::TYPE_NAME:
  94          $missing = $this->validateIsEmptyTextField(
  95            $object->getName(),
  96            $xactions);
  97  
  98          if ($missing) {
  99            $error = new PhabricatorApplicationTransactionValidationError(
 100              $type,
 101              pht('Required'),
 102              pht('Merchant name is required.'),
 103              nonempty(last($xactions), null));
 104  
 105            $error->setIsMissingFieldError(true);
 106            $errors[] = $error;
 107          }
 108          break;
 109      }
 110  
 111      return $errors;
 112    }
 113  
 114  }


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