[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/harbormaster/editor/ -> HarbormasterBuildStepEditor.php (source)

   1  <?php
   2  
   3  final class HarbormasterBuildStepEditor
   4    extends PhabricatorApplicationTransactionEditor {
   5  
   6    public function getEditorApplicationClass() {
   7      return 'PhabricatorHarbormasterApplication';
   8    }
   9  
  10    public function getEditorObjectsDescription() {
  11      return pht('Harbormaster Build Steps');
  12    }
  13  
  14    public function getTransactionTypes() {
  15      $types = parent::getTransactionTypes();
  16  
  17      $types[] = HarbormasterBuildStepTransaction::TYPE_CREATE;
  18      $types[] = HarbormasterBuildStepTransaction::TYPE_NAME;
  19      $types[] = HarbormasterBuildStepTransaction::TYPE_DEPENDS_ON;
  20      $types[] = HarbormasterBuildStepTransaction::TYPE_DESCRIPTION;
  21  
  22      return $types;
  23    }
  24  
  25    protected function getCustomTransactionOldValue(
  26      PhabricatorLiskDAO $object,
  27      PhabricatorApplicationTransaction $xaction) {
  28  
  29      switch ($xaction->getTransactionType()) {
  30        case HarbormasterBuildStepTransaction::TYPE_CREATE:
  31          return null;
  32        case HarbormasterBuildStepTransaction::TYPE_NAME:
  33          if ($this->getIsNewObject()) {
  34            return null;
  35          }
  36          return $object->getName();
  37        case HarbormasterBuildStepTransaction::TYPE_DEPENDS_ON:
  38          if ($this->getIsNewObject()) {
  39            return null;
  40          }
  41          return $object->getDetail('dependsOn', array());
  42        case HarbormasterBuildStepTransaction::TYPE_DESCRIPTION:
  43          if ($this->getIsNewObject()) {
  44            return null;
  45          }
  46          return $object->getDescription();
  47      }
  48  
  49      return parent::getCustomTransactionOldValue($object, $xaction);
  50    }
  51  
  52    protected function getCustomTransactionNewValue(
  53      PhabricatorLiskDAO $object,
  54      PhabricatorApplicationTransaction $xaction) {
  55  
  56      switch ($xaction->getTransactionType()) {
  57        case HarbormasterBuildStepTransaction::TYPE_CREATE:
  58          return true;
  59        case HarbormasterBuildStepTransaction::TYPE_NAME:
  60        case HarbormasterBuildStepTransaction::TYPE_DEPENDS_ON:
  61        case HarbormasterBuildStepTransaction::TYPE_DESCRIPTION:
  62          return $xaction->getNewValue();
  63      }
  64  
  65      return parent::getCustomTransactionNewValue($object, $xaction);
  66    }
  67  
  68    protected function applyCustomInternalTransaction(
  69      PhabricatorLiskDAO $object,
  70      PhabricatorApplicationTransaction $xaction) {
  71  
  72      switch ($xaction->getTransactionType()) {
  73        case HarbormasterBuildStepTransaction::TYPE_CREATE:
  74          return;
  75        case HarbormasterBuildStepTransaction::TYPE_NAME:
  76          return $object->setName($xaction->getNewValue());
  77        case HarbormasterBuildStepTransaction::TYPE_DEPENDS_ON:
  78          return $object->setDetail('dependsOn', $xaction->getNewValue());
  79        case HarbormasterBuildStepTransaction::TYPE_DESCRIPTION:
  80          return $object->setDescription($xaction->getNewValue());
  81      }
  82  
  83      return parent::applyCustomInternalTransaction($object, $xaction);
  84    }
  85  
  86    protected function applyCustomExternalTransaction(
  87      PhabricatorLiskDAO $object,
  88      PhabricatorApplicationTransaction $xaction) {
  89  
  90      switch ($xaction->getTransactionType()) {
  91        case HarbormasterBuildStepTransaction::TYPE_CREATE:
  92        case HarbormasterBuildStepTransaction::TYPE_NAME:
  93        case HarbormasterBuildStepTransaction::TYPE_DEPENDS_ON:
  94        case HarbormasterBuildStepTransaction::TYPE_DESCRIPTION:
  95          return;
  96      }
  97  
  98      return parent::applyCustomExternalTransaction($object, $xaction);
  99    }
 100  
 101  }


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