@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 64 lines 1.6 kB view raw
1<?php 2 3final class PhabricatorProjectColumnStatusTransaction 4 extends PhabricatorProjectColumnTransactionType { 5 6 const TRANSACTIONTYPE = 'project:col:status'; 7 8 public function generateOldValue($object) { 9 return $object->getStatus(); 10 } 11 12 public function applyInternalEffects($object, $value) { 13 $object->setStatus($value); 14 } 15 16 public function applyExternalEffects($object, $value) { 17 // Update the trigger usage index, which cares about whether columns are 18 // active or not. 19 $trigger_phid = $object->getTriggerPHID(); 20 if ($trigger_phid) { 21 PhabricatorSearchWorker::queueDocumentForIndexing($trigger_phid); 22 } 23 } 24 25 public function getTitle() { 26 $new = $this->getNewValue(); 27 28 switch ($new) { 29 case PhabricatorProjectColumn::STATUS_ACTIVE: 30 return pht( 31 '%s unhid this column.', 32 $this->renderAuthor()); 33 case PhabricatorProjectColumn::STATUS_HIDDEN: 34 return pht( 35 '%s hid this column.', 36 $this->renderAuthor()); 37 } 38 } 39 40 public function validateTransactions($object, array $xactions) { 41 $errors = array(); 42 43 $map = array( 44 PhabricatorProjectColumn::STATUS_ACTIVE, 45 PhabricatorProjectColumn::STATUS_HIDDEN, 46 ); 47 $map = array_fuse($map); 48 49 foreach ($xactions as $xaction) { 50 $value = $xaction->getNewValue(); 51 if (!isset($map[$value])) { 52 $errors[] = $this->newInvalidError( 53 pht( 54 'Column status "%s" is unrecognized, valid statuses are: %s.', 55 $value, 56 implode(', ', array_keys($map))), 57 $xaction); 58 } 59 } 60 61 return $errors; 62 } 63 64}