@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<?php
2
3final class PhabricatorPackagesPackageEditor
4 extends PhabricatorPackagesEditor {
5
6 public function getEditorObjectsDescription() {
7 return pht('Package Packages');
8 }
9
10 public function getCreateObjectTitle($author, $object) {
11 return pht('%s created this package.', $author);
12 }
13
14 public function getCreateObjectTitleForFeed($author, $object) {
15 return pht('%s created %s.', $author, $object);
16 }
17
18 public function getTransactionTypes() {
19 $types = parent::getTransactionTypes();
20
21 $types[] = PhabricatorTransactions::TYPE_VIEW_POLICY;
22 $types[] = PhabricatorTransactions::TYPE_EDIT_POLICY;
23
24 return $types;
25 }
26
27 protected function getMailTo(PhabricatorLiskDAO $object) {
28 return array();
29 }
30
31 protected function didCatchDuplicateKeyException(
32 PhabricatorLiskDAO $object,
33 array $xactions,
34 Exception $ex) {
35
36 $errors = array();
37 $errors[] = new PhabricatorApplicationTransactionValidationError(
38 PhabricatorPackagesPackageKeyTransaction::TRANSACTIONTYPE,
39 pht('Duplicate'),
40 pht(
41 'The package key "%s" is already in use by another package provided '.
42 'by this publisher.',
43 $object->getPackageKey()),
44 null);
45
46 throw new PhabricatorApplicationTransactionValidationException($errors);
47 }
48
49}