Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/herald/action/HeraldCommentAction.php
12256 views
1
<?php
2
3
final class HeraldCommentAction extends HeraldAction {
4
5
const ACTIONCONST = 'comment';
6
const DO_COMMENT = 'do.comment';
7
8
public function getHeraldActionName() {
9
return pht('Add comment');
10
}
11
12
public function getActionGroupKey() {
13
return HeraldUtilityActionGroup::ACTIONGROUPKEY;
14
}
15
16
public function supportsObject($object) {
17
if (!($object instanceof PhabricatorApplicationTransactionInterface)) {
18
return false;
19
}
20
21
$xaction = $object->getApplicationTransactionTemplate();
22
23
$comment = $xaction->getApplicationTransactionCommentObject();
24
if (!$comment) {
25
return false;
26
}
27
28
return true;
29
}
30
31
public function supportsRuleType($rule_type) {
32
return ($rule_type != HeraldRuleTypeConfig::RULE_TYPE_PERSONAL);
33
}
34
35
public function applyEffect($object, HeraldEffect $effect) {
36
$adapter = $this->getAdapter();
37
$comment_text = $effect->getTarget();
38
39
$xaction = $adapter->newTransaction()
40
->setTransactionType(PhabricatorTransactions::TYPE_COMMENT);
41
42
$comment = $xaction->getApplicationTransactionCommentObject()
43
->setContent($comment_text);
44
45
$xaction->attachComment($comment);
46
47
$adapter->queueTransaction($xaction);
48
49
$this->logEffect(self::DO_COMMENT, $comment_text);
50
}
51
52
public function getHeraldActionStandardType() {
53
return self::STANDARD_REMARKUP;
54
}
55
56
protected function getActionEffectMap() {
57
return array(
58
self::DO_COMMENT => array(
59
'icon' => 'fa-comment',
60
'color' => 'blue',
61
'name' => pht('Added Comment'),
62
),
63
);
64
}
65
66
public function renderActionDescription($value) {
67
$summary = PhabricatorMarkupEngine::summarize($value);
68
return pht('Add comment: %s', $summary);
69
}
70
71
protected function renderActionEffectDescription($type, $data) {
72
$summary = PhabricatorMarkupEngine::summarize($data);
73
return pht('Added a comment: %s', $summary);
74
}
75
76
}
77
78