Differential D17671 Diff 42514 src/applications/countdown/xaction/PhabricatorCountdownTitleTransaction.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/countdown/xaction/PhabricatorCountdownTitleTransaction.php
- This file was added.
<?php | |||||
final class PhabricatorCountdownTitleTransaction | |||||
extends PhabricatorCountdownTransactionType { | |||||
const TRANSACTIONTYPE = 'countdown:title'; | |||||
public function generateOldValue($object) { | |||||
return $object->getTitle(); | |||||
} | |||||
public function applyInternalEffects($object, $value) { | |||||
$object->setTitle($value); | |||||
} | |||||
public function getTitle() { | |||||
return pht( | |||||
'%s updated the title for this countdown from %s to %s.', | |||||
$this->renderAuthor(), | |||||
epriestley: You can omit quotes in ModularTransactions -- we used to have to quote everything, but… | |||||
$this->renderOldValue(), | |||||
$this->renderNewValue()); | |||||
} | |||||
public function getTitleForFeed() { | |||||
return pht( | |||||
'%s updated the title for this countdown from %s to %s.', | |||||
$this->renderAuthor(), | |||||
$this->renderOldValue(), | |||||
$this->renderNewValue()); | |||||
} | |||||
public function validateTransactions($object, array $xactions) { | |||||
$errors = array(); | |||||
if ($this->isEmptyTextTransaction($object->getTitle(), $xactions)) { | |||||
$errors[] = $this->newRequiredError(pht('Countdowns must have a title.')); | |||||
} | |||||
$max_length = $object->getColumnMaximumByteLength('title'); | |||||
foreach ($xactions as $xaction) { | |||||
$new_value = $xaction->getNewValue(); | |||||
$new_length = strlen($new_value); | |||||
if ($new_length > $max_length) { | |||||
$errors[] = $this->newInvalidError( | |||||
pht( | |||||
'Countdown titles must not be longer than %s character(s).', | |||||
new PhutilNumber($max_length))); | |||||
} | |||||
Done Inline Actions(These are right.) epriestley: (These are right.) | |||||
} | |||||
return $errors; | |||||
} | |||||
} |
You can omit quotes in ModularTransactions -- we used to have to quote everything, but renderOldValue() and renderNewValue() now give these a nice italic style. This also disambiguates cases where someone renames something to "quote quote '" quotes " double quote because they are oh-so-clever.