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