Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/nuance/editor/NuanceSourceEditEngine.php
12256 views
1
<?php
2
3
final class NuanceSourceEditEngine
4
extends PhabricatorEditEngine {
5
6
const ENGINECONST = 'nuance.source';
7
8
private $sourceDefinition;
9
10
public function setSourceDefinition(
11
NuanceSourceDefinition $source_definition) {
12
$this->sourceDefinition = $source_definition;
13
return $this;
14
}
15
16
public function getSourceDefinition() {
17
return $this->sourceDefinition;
18
}
19
20
public function isEngineConfigurable() {
21
return false;
22
}
23
24
public function getEngineName() {
25
return pht('Nuance Sources');
26
}
27
28
public function getSummaryHeader() {
29
return pht('Edit Nuance Source Configurations');
30
}
31
32
public function getSummaryText() {
33
return pht('This engine is used to edit Nuance sources.');
34
}
35
36
public function getEngineApplicationClass() {
37
return 'PhabricatorNuanceApplication';
38
}
39
40
protected function newEditableObject() {
41
$viewer = $this->getViewer();
42
43
$definition = $this->getSourceDefinition();
44
if (!$definition) {
45
throw new PhutilInvalidStateException('setSourceDefinition');
46
}
47
48
return NuanceSource::initializeNewSource(
49
$viewer,
50
$definition);
51
}
52
53
protected function newObjectQuery() {
54
return new NuanceSourceQuery();
55
}
56
57
protected function getObjectCreateTitleText($object) {
58
return pht('Create Source');
59
}
60
61
protected function getObjectCreateButtonText($object) {
62
return pht('Create Source');
63
}
64
65
protected function getObjectEditTitleText($object) {
66
return pht('Edit Source: %s', $object->getName());
67
}
68
69
protected function getObjectEditShortText($object) {
70
return pht('Edit Source');
71
}
72
73
protected function getObjectCreateShortText() {
74
return pht('Create Source');
75
}
76
77
protected function getObjectName() {
78
return pht('Source');
79
}
80
81
protected function getEditorURI() {
82
return '/nuance/source/edit/';
83
}
84
85
protected function getObjectCreateCancelURI($object) {
86
return '/nuance/source/';
87
}
88
89
protected function getObjectViewURI($object) {
90
return $object->getURI();
91
}
92
93
protected function buildCustomEditFields($object) {
94
return array(
95
id(new PhabricatorTextEditField())
96
->setKey('name')
97
->setLabel(pht('Name'))
98
->setDescription(pht('Name of the source.'))
99
->setTransactionType(NuanceSourceNameTransaction::TRANSACTIONTYPE)
100
->setIsRequired(true)
101
->setValue($object->getName()),
102
id(new PhabricatorDatasourceEditField())
103
->setKey('defaultQueue')
104
->setLabel(pht('Default Queue'))
105
->setDescription(pht('Default queue.'))
106
->setTransactionType(
107
NuanceSourceDefaultQueueTransaction::TRANSACTIONTYPE)
108
->setDatasource(new NuanceQueueDatasource())
109
->setSingleValue($object->getDefaultQueuePHID()),
110
);
111
}
112
113
}
114
115