3 final class HarbormasterBuildStepEditor
4 extends PhabricatorApplicationTransactionEditor
{
6 public function getEditorApplicationClass() {
7 return 'PhabricatorHarbormasterApplication';
10 public function getEditorObjectsDescription() {
11 return pht('Harbormaster Build Steps');
14 public function getTransactionTypes() {
15 $types = parent
::getTransactionTypes();
17 $types[] = HarbormasterBuildStepTransaction
::TYPE_CREATE
;
18 $types[] = HarbormasterBuildStepTransaction
::TYPE_NAME
;
19 $types[] = HarbormasterBuildStepTransaction
::TYPE_DEPENDS_ON
;
20 $types[] = HarbormasterBuildStepTransaction
::TYPE_DESCRIPTION
;
25 protected function getCustomTransactionOldValue(
26 PhabricatorLiskDAO
$object,
27 PhabricatorApplicationTransaction
$xaction) {
29 switch ($xaction->getTransactionType()) {
30 case HarbormasterBuildStepTransaction
::TYPE_CREATE
:
32 case HarbormasterBuildStepTransaction
::TYPE_NAME
:
33 if ($this->getIsNewObject()) {
36 return $object->getName();
37 case HarbormasterBuildStepTransaction
::TYPE_DEPENDS_ON
:
38 if ($this->getIsNewObject()) {
41 return $object->getDetail('dependsOn', array());
42 case HarbormasterBuildStepTransaction
::TYPE_DESCRIPTION
:
43 if ($this->getIsNewObject()) {
46 return $object->getDescription();
49 return parent
::getCustomTransactionOldValue($object, $xaction);
52 protected function getCustomTransactionNewValue(
53 PhabricatorLiskDAO
$object,
54 PhabricatorApplicationTransaction
$xaction) {
56 switch ($xaction->getTransactionType()) {
57 case HarbormasterBuildStepTransaction
::TYPE_CREATE
:
59 case HarbormasterBuildStepTransaction
::TYPE_NAME
:
60 case HarbormasterBuildStepTransaction
::TYPE_DEPENDS_ON
:
61 case HarbormasterBuildStepTransaction
::TYPE_DESCRIPTION
:
62 return $xaction->getNewValue();
65 return parent
::getCustomTransactionNewValue($object, $xaction);
68 protected function applyCustomInternalTransaction(
69 PhabricatorLiskDAO
$object,
70 PhabricatorApplicationTransaction
$xaction) {
72 switch ($xaction->getTransactionType()) {
73 case HarbormasterBuildStepTransaction
::TYPE_CREATE
:
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());
83 return parent
::applyCustomInternalTransaction($object, $xaction);
86 protected function applyCustomExternalTransaction(
87 PhabricatorLiskDAO
$object,
88 PhabricatorApplicationTransaction
$xaction) {
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
:
98 return parent
::applyCustomExternalTransaction($object, $xaction);