Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/almanac/editor/AlmanacNamespaceEditEngine.php
12256 views
1
<?php
2
3
final class AlmanacNamespaceEditEngine
4
extends PhabricatorEditEngine {
5
6
const ENGINECONST = 'almanac.namespace';
7
8
public function isEngineConfigurable() {
9
return false;
10
}
11
12
public function getEngineName() {
13
return pht('Almanac Namespaces');
14
}
15
16
public function getSummaryHeader() {
17
return pht('Edit Almanac Namespace Configurations');
18
}
19
20
public function getSummaryText() {
21
return pht('This engine is used to edit Almanac namespaces.');
22
}
23
24
public function getEngineApplicationClass() {
25
return 'PhabricatorAlmanacApplication';
26
}
27
28
protected function newEditableObject() {
29
return AlmanacNamespace::initializeNewNamespace();
30
}
31
32
protected function newObjectQuery() {
33
return new AlmanacNamespaceQuery();
34
}
35
36
protected function getObjectCreateTitleText($object) {
37
return pht('Create Namespace');
38
}
39
40
protected function getObjectCreateButtonText($object) {
41
return pht('Create Namespace');
42
}
43
44
protected function getObjectEditTitleText($object) {
45
return pht('Edit Namespace: %s', $object->getName());
46
}
47
48
protected function getObjectEditShortText($object) {
49
return pht('Edit Namespace');
50
}
51
52
protected function getObjectCreateShortText() {
53
return pht('Create Namespace');
54
}
55
56
protected function getObjectName() {
57
return pht('Namespace');
58
}
59
60
protected function getEditorURI() {
61
return '/almanac/namespace/edit/';
62
}
63
64
protected function getObjectCreateCancelURI($object) {
65
return '/almanac/namespace/';
66
}
67
68
protected function getObjectViewURI($object) {
69
$id = $object->getID();
70
return "/almanac/namespace/{$id}/";
71
}
72
73
protected function getCreateNewObjectPolicy() {
74
return $this->getApplication()->getPolicy(
75
AlmanacCreateNamespacesCapability::CAPABILITY);
76
}
77
78
protected function buildCustomEditFields($object) {
79
return array(
80
id(new PhabricatorTextEditField())
81
->setKey('name')
82
->setLabel(pht('Name'))
83
->setDescription(pht('Name of the namespace.'))
84
->setTransactionType(AlmanacNamespaceNameTransaction::TRANSACTIONTYPE)
85
->setIsRequired(true)
86
->setValue($object->getName()),
87
);
88
}
89
90
}
91
92