3 final class HarbormasterBuildPlanStatusTransaction
4 extends HarbormasterBuildPlanTransactionType
{
6 const TRANSACTIONTYPE
= 'harbormaster:status';
8 public function generateOldValue($object) {
9 return $object->getPlanStatus();
12 public function applyInternalEffects($object, $value) {
13 $object->setPlanStatus($value);
16 public function getTitle() {
17 $new = $this->getNewValue();
18 if ($new === HarbormasterBuildPlan
::STATUS_DISABLED
) {
20 '%s disabled this build plan.',
21 $this->renderAuthor());
24 '%s enabled this build plan.',
25 $this->renderAuthor());
29 public function validateTransactions($object, array $xactions) {
33 HarbormasterBuildPlan
::STATUS_DISABLED
,
34 HarbormasterBuildPlan
::STATUS_ACTIVE
,
36 $options = array_fuse($options);
38 foreach ($xactions as $xaction) {
39 $new = $xaction->getNewValue();
41 if (!isset($options[$new])) {
42 $errors[] = $this->newInvalidError(
44 'Status "%s" is not a valid build plan status. Valid '.
47 implode(', ', $options)));
56 public function getTransactionTypeForConduit($xaction) {
60 public function getFieldValuesForConduit($xaction, $data) {
62 'old' => $xaction->getOldValue(),
63 'new' => $xaction->getNewValue(),