[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/slowvote/editor/ -> PhabricatorSlowvoteEditor.php (source)

   1  <?php
   2  
   3  final class PhabricatorSlowvoteEditor
   4    extends PhabricatorApplicationTransactionEditor {
   5  
   6    public function getEditorApplicationClass() {
   7      return 'PhabricatorSlowvoteApplication';
   8    }
   9  
  10    public function getEditorObjectsDescription() {
  11      return pht('Slowvotes');
  12    }
  13  
  14    public function getTransactionTypes() {
  15      $types = parent::getTransactionTypes();
  16  
  17      $types[] = PhabricatorTransactions::TYPE_COMMENT;
  18      $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY;
  19  
  20      $types[] = PhabricatorSlowvoteTransaction::TYPE_QUESTION;
  21      $types[] = PhabricatorSlowvoteTransaction::TYPE_DESCRIPTION;
  22      $types[] = PhabricatorSlowvoteTransaction::TYPE_RESPONSES;
  23      $types[] = PhabricatorSlowvoteTransaction::TYPE_SHUFFLE;
  24      $types[] = PhabricatorSlowvoteTransaction::TYPE_CLOSE;
  25  
  26      return $types;
  27    }
  28  
  29    protected function transactionHasEffect(
  30      PhabricatorLiskDAO $object,
  31      PhabricatorApplicationTransaction $xaction) {
  32  
  33      $old = $xaction->getOldValue();
  34      $new = $xaction->getNewValue();
  35  
  36      switch ($xaction->getTransactionType()) {
  37        case PhabricatorSlowvoteTransaction::TYPE_RESPONSES:
  38          if ($old === null) {
  39            return true;
  40          }
  41          return ((int)$old !== (int)$new);
  42        case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE:
  43          if ($old === null) {
  44            return true;
  45          }
  46          return ((bool)$old !== (bool)$new);
  47      }
  48  
  49      return parent::transactionHasEffect($object, $xaction);
  50    }
  51  
  52  
  53    protected function getCustomTransactionOldValue(
  54      PhabricatorLiskDAO $object,
  55      PhabricatorApplicationTransaction $xaction) {
  56  
  57      switch ($xaction->getTransactionType()) {
  58        case PhabricatorSlowvoteTransaction::TYPE_QUESTION:
  59          return $object->getQuestion();
  60        case PhabricatorSlowvoteTransaction::TYPE_DESCRIPTION:
  61          return $object->getDescription();
  62        case PhabricatorSlowvoteTransaction::TYPE_RESPONSES:
  63          return $object->getResponseVisibility();
  64        case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE:
  65          return $object->getShuffle();
  66        case PhabricatorSlowvoteTransaction::TYPE_CLOSE:
  67          return $object->getIsClosed();
  68      }
  69    }
  70  
  71    protected function getCustomTransactionNewValue(
  72      PhabricatorLiskDAO $object,
  73      PhabricatorApplicationTransaction $xaction) {
  74  
  75      switch ($xaction->getTransactionType()) {
  76        case PhabricatorSlowvoteTransaction::TYPE_QUESTION:
  77        case PhabricatorSlowvoteTransaction::TYPE_DESCRIPTION:
  78        case PhabricatorSlowvoteTransaction::TYPE_RESPONSES:
  79        case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE:
  80        case PhabricatorSlowvoteTransaction::TYPE_CLOSE:
  81          return $xaction->getNewValue();
  82      }
  83    }
  84  
  85    protected function applyCustomInternalTransaction(
  86      PhabricatorLiskDAO $object,
  87      PhabricatorApplicationTransaction $xaction) {
  88  
  89      switch ($xaction->getTransactionType()) {
  90        case PhabricatorSlowvoteTransaction::TYPE_QUESTION:
  91          $object->setQuestion($xaction->getNewValue());
  92          break;
  93        case PhabricatorSlowvoteTransaction::TYPE_DESCRIPTION:
  94          $object->setDescription($xaction->getNewValue());
  95          break;
  96        case PhabricatorSlowvoteTransaction::TYPE_RESPONSES:
  97          $object->setResponseVisibility($xaction->getNewValue());
  98          break;
  99        case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE:
 100          $object->setShuffle($xaction->getNewValue());
 101          break;
 102        case PhabricatorSlowvoteTransaction::TYPE_CLOSE:
 103          $object->setIsClosed((int)$xaction->getNewValue());
 104          break;
 105        case PhabricatorTransactions::TYPE_EDGE:
 106          return;
 107      }
 108    }
 109  
 110    protected function applyCustomExternalTransaction(
 111      PhabricatorLiskDAO $object,
 112      PhabricatorApplicationTransaction $xaction) {
 113      return;
 114    }
 115  
 116  }


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