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