Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/macro/editor/PhabricatorMacroEditEngine.php
12241 views
1
<?php
2
3
final class PhabricatorMacroEditEngine
4
extends PhabricatorEditEngine {
5
6
const ENGINECONST = 'macro.image';
7
8
public function getEngineName() {
9
return pht('Macro Image');
10
}
11
12
public function getSummaryHeader() {
13
return pht('Configure Macro Image Forms');
14
}
15
16
public function getSummaryText() {
17
return pht('Configure creation and editing of Macro images.');
18
}
19
20
public function getEngineApplicationClass() {
21
return 'PhabricatorMacroApplication';
22
}
23
24
public function isEngineConfigurable() {
25
return false;
26
}
27
28
protected function newEditableObject() {
29
$viewer = $this->getViewer();
30
return PhabricatorFileImageMacro::initializeNewFileImageMacro($viewer);
31
}
32
33
protected function newObjectQuery() {
34
return new PhabricatorMacroQuery();
35
}
36
37
protected function getObjectCreateTitleText($object) {
38
return pht('Create New Macro');
39
}
40
41
protected function getObjectEditTitleText($object) {
42
return pht('Edit Macro %s', $object->getName());
43
}
44
45
protected function getObjectEditShortText($object) {
46
return $object->getName();
47
}
48
49
protected function getObjectCreateShortText() {
50
return pht('Create Macro');
51
}
52
53
protected function getObjectName() {
54
return pht('Macro');
55
}
56
57
protected function getObjectViewURI($object) {
58
return $object->getViewURI();
59
}
60
61
protected function getEditorURI() {
62
return $this->getApplication()->getApplicationURI('edit/');
63
}
64
65
protected function getCreateNewObjectPolicy() {
66
return $this->getApplication()->getPolicy(
67
PhabricatorMacroManageCapability::CAPABILITY);
68
}
69
70
protected function willConfigureFields($object, array $fields) {
71
if ($this->getIsCreate()) {
72
$subscribers_field = idx($fields,
73
PhabricatorSubscriptionsEditEngineExtension::FIELDKEY);
74
if ($subscribers_field) {
75
// By default, hide the subscribers field when creating a macro
76
// because it makes the workflow SO HARD and wastes SO MUCH TIME.
77
$subscribers_field->setIsHidden(true);
78
}
79
}
80
return $fields;
81
}
82
83
protected function buildCustomEditFields($object) {
84
85
return array(
86
id(new PhabricatorTextEditField())
87
->setKey('name')
88
->setLabel(pht('Name'))
89
->setDescription(pht('Macro name.'))
90
->setConduitDescription(pht('Name of the macro.'))
91
->setConduitTypeDescription(pht('New macro name.'))
92
->setTransactionType(PhabricatorMacroNameTransaction::TRANSACTIONTYPE)
93
->setIsRequired(true)
94
->setValue($object->getName()),
95
id(new PhabricatorFileEditField())
96
->setKey('filePHID')
97
->setLabel(pht('Image File'))
98
->setDescription(pht('Image file to import.'))
99
->setTransactionType(PhabricatorMacroFileTransaction::TRANSACTIONTYPE)
100
->setConduitDescription(pht('File PHID to import.'))
101
->setConduitTypeDescription(pht('File PHID.'))
102
->setValue($object->getFilePHID()),
103
);
104
105
}
106
107
}
108
109