Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/fund/editor/FundInitiativeEditor.php
12256 views
1
<?php
2
3
final class FundInitiativeEditor
4
extends PhabricatorApplicationTransactionEditor {
5
6
public function getEditorApplicationClass() {
7
return 'PhabricatorFundApplication';
8
}
9
10
public function getEditorObjectsDescription() {
11
return pht('Fund Initiatives');
12
}
13
14
public function getCreateObjectTitle($author, $object) {
15
return pht('%s created this initiative.', $author);
16
}
17
18
public function getCreateObjectTitleForFeed($author, $object) {
19
return pht('%s created %s.', $author, $object);
20
}
21
22
public function getTransactionTypes() {
23
$types = parent::getTransactionTypes();
24
$types[] = PhabricatorTransactions::TYPE_VIEW_POLICY;
25
$types[] = PhabricatorTransactions::TYPE_EDIT_POLICY;
26
$types[] = PhabricatorTransactions::TYPE_COMMENT;
27
28
return $types;
29
}
30
31
protected function shouldSendMail(
32
PhabricatorLiskDAO $object,
33
array $xactions) {
34
return true;
35
}
36
37
public function getMailTagsMap() {
38
return array(
39
FundInitiativeTransaction::MAILTAG_BACKER =>
40
pht('Someone backs an initiative.'),
41
FundInitiativeTransaction::MAILTAG_STATUS =>
42
pht("An initiative's status changes."),
43
FundInitiativeTransaction::MAILTAG_OTHER =>
44
pht('Other initiative activity not listed above occurs.'),
45
);
46
}
47
48
protected function buildMailTemplate(PhabricatorLiskDAO $object) {
49
$monogram = $object->getMonogram();
50
$name = $object->getName();
51
52
return id(new PhabricatorMetaMTAMail())
53
->setSubject("{$monogram}: {$name}");
54
}
55
56
protected function buildMailBody(
57
PhabricatorLiskDAO $object,
58
array $xactions) {
59
60
$body = parent::buildMailBody($object, $xactions);
61
62
$body->addLinkSection(
63
pht('INITIATIVE DETAIL'),
64
PhabricatorEnv::getProductionURI('/'.$object->getMonogram()));
65
66
return $body;
67
}
68
69
protected function getMailTo(PhabricatorLiskDAO $object) {
70
return array($object->getOwnerPHID());
71
}
72
73
protected function getMailSubjectPrefix() {
74
return 'Fund';
75
}
76
77
protected function buildReplyHandler(PhabricatorLiskDAO $object) {
78
return id(new FundInitiativeReplyHandler())
79
->setMailReceiver($object);
80
}
81
82
protected function shouldPublishFeedStory(
83
PhabricatorLiskDAO $object,
84
array $xactions) {
85
return true;
86
}
87
88
protected function supportsSearch() {
89
return true;
90
}
91
92
}
93
94