3 final class PhabricatorPackagesPackageKeyTransaction
4 extends PhabricatorPackagesPackageTransactionType
{
6 const TRANSACTIONTYPE
= 'packages.package.key';
8 public function generateOldValue($object) {
9 return $object->getPackageKey();
12 public function applyInternalEffects($object, $value) {
13 $object->setPackageKey($value);
16 public function validateTransactions($object, array $xactions) {
19 if ($this->isEmptyTextTransaction($object->getName(), $xactions)) {
20 $errors[] = $this->newRequiredError(
22 'Each package provided by a publisher must have a '.
23 'unique package key.'));
27 if (!$this->isNewObject()) {
28 foreach ($xactions as $xaction) {
29 $errors[] = $this->newInvalidError(
30 pht('Once a package is created, its key can not be changed.'),
35 foreach ($xactions as $xaction) {
36 $value = $xaction->getNewValue();
38 PhabricatorPackagesPackage
::assertValidPackageKey($value);
39 } catch (Exception
$ex) {
40 $errors[] = $this->newInvalidError($ex->getMessage(), $xaction);