3 final class PhabricatorPackagesPackageEditEngine
4 extends PhabricatorPackagesEditEngine
{
6 const ENGINECONST
= 'packages.package';
8 public function getEngineName() {
9 return pht('Package Packages');
12 public function getSummaryHeader() {
13 return pht('Edit Package Package Configurations');
16 public function getSummaryText() {
17 return pht('This engine is used to edit Packages packages.');
20 protected function newEditableObject() {
21 $viewer = $this->getViewer();
22 return PhabricatorPackagesPackage
::initializeNewPackage($viewer);
25 protected function newObjectQuery() {
26 return new PhabricatorPackagesPackageQuery();
29 protected function getObjectCreateTitleText($object) {
30 return pht('Create Package');
33 protected function getObjectCreateButtonText($object) {
34 return pht('Create Package');
37 protected function getObjectEditTitleText($object) {
38 return pht('Edit Package: %s', $object->getName());
41 protected function getObjectEditShortText($object) {
42 return pht('Edit Package');
45 protected function getObjectCreateShortText() {
46 return pht('Create Package');
49 protected function getObjectName() {
50 return pht('Package');
53 protected function getEditorURI() {
54 return '/packages/package/edit/';
57 protected function getObjectCreateCancelURI($object) {
58 return '/packages/package/';
61 protected function getObjectViewURI($object) {
62 return $object->getURI();
65 protected function buildCustomEditFields($object) {
68 if ($this->getIsCreate()) {
69 $fields[] = id(new PhabricatorDatasourceEditField())
71 ->setAliases(array('publisherPHID'))
72 ->setLabel(pht('Publisher'))
73 ->setDescription(pht('Publisher for this package.'))
75 PhabricatorPackagesPackagePublisherTransaction
::TRANSACTIONTYPE
)
77 ->setDatasource(new PhabricatorPackagesPublisherDatasource())
78 ->setSingleValue($object->getPublisherPHID());
81 $fields[] = id(new PhabricatorTextEditField())
83 ->setLabel(pht('Name'))
84 ->setDescription(pht('Name of the package.'))
86 PhabricatorPackagesPackageNameTransaction
::TRANSACTIONTYPE
)
88 ->setValue($object->getName());
90 if ($this->getIsCreate()) {
91 $fields[] = id(new PhabricatorTextEditField())
92 ->setKey('packageKey')
93 ->setLabel(pht('Package Key'))
94 ->setDescription(pht('Unique key to identify the package.'))
96 PhabricatorPackagesPackageKeyTransaction
::TRANSACTIONTYPE
)
98 ->setValue($object->getPackageKey());