Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/differential/field/DifferentialTasksCommitMessageField.php
12256 views
1
<?php
2
3
final class DifferentialTasksCommitMessageField
4
extends DifferentialCommitMessageField {
5
6
const FIELDKEY = 'maniphestTaskPHIDs';
7
8
public function getFieldName() {
9
return pht('Maniphest Tasks');
10
}
11
12
public function getFieldOrder() {
13
return 8000;
14
}
15
16
public function getFieldAliases() {
17
return array(
18
'Task',
19
'Tasks',
20
'Maniphest Task',
21
);
22
}
23
24
public function isTemplateField() {
25
return false;
26
}
27
28
public function parseFieldValue($value) {
29
return $this->parseObjectList(
30
$value,
31
array(
32
ManiphestTaskPHIDType::TYPECONST,
33
));
34
}
35
36
public function readFieldValueFromObject(DifferentialRevision $revision) {
37
if (!$revision->getPHID()) {
38
return array();
39
}
40
41
$projects = PhabricatorEdgeQuery::loadDestinationPHIDs(
42
$revision->getPHID(),
43
DifferentialRevisionHasTaskEdgeType::EDGECONST);
44
$projects = array_reverse($projects);
45
46
return $projects;
47
}
48
49
public function readFieldValueFromConduit($value) {
50
return $this->readStringListFieldValueFromConduit($value);
51
}
52
53
public function renderFieldValue($value) {
54
return $this->renderHandleList($value);
55
}
56
57
public function getFieldTransactions($value) {
58
return array(
59
array(
60
'type' => 'tasks.set',
61
'value' => $value,
62
),
63
);
64
}
65
}
66
67