Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/diffusion/xaction/DiffusionCommitStateTransaction.php
12241 views
1
<?php
2
3
final class DiffusionCommitStateTransaction
4
extends DiffusionCommitTransactionType {
5
6
const TRANSACTIONTYPE = 'diffusion.commit.state';
7
8
public function generateNewValue($object, $value) {
9
// NOTE: This transaction can not be generated or applied normally. It is
10
// written to the transaction log as a side effect of a state change.
11
throw new PhutilMethodNotImplementedException();
12
}
13
14
private function getAuditStatusObject() {
15
$new = $this->getNewValue();
16
return DiffusionCommitAuditStatus::newForStatus($new);
17
}
18
19
public function getIcon() {
20
return $this->getAuditStatusObject()->getIcon();
21
}
22
23
public function getColor() {
24
return $this->getAuditStatusObject()->getColor();
25
}
26
27
public function getTitle() {
28
$status = $this->getAuditStatusObject();
29
30
switch ($status->getKey()) {
31
case DiffusionCommitAuditStatus::NONE:
32
return pht('This commit no longer requires audit.');
33
case DiffusionCommitAuditStatus::NEEDS_AUDIT:
34
return pht('This commit now requires audit.');
35
case DiffusionCommitAuditStatus::CONCERN_RAISED:
36
return pht('This commit now has outstanding concerns.');
37
case DiffusionCommitAuditStatus::NEEDS_VERIFICATION:
38
return pht('This commit now requires verification by auditors.');
39
case DiffusionCommitAuditStatus::AUDITED:
40
return pht('All concerns with this commit have now been addressed.');
41
}
42
43
return null;
44
}
45
46
public function getTitleForFeed() {
47
$status = $this->getAuditStatusObject();
48
49
switch ($status->getKey()) {
50
case DiffusionCommitAuditStatus::NONE:
51
return pht(
52
'%s no longer requires audit.',
53
$this->renderObject());
54
case DiffusionCommitAuditStatus::NEEDS_AUDIT:
55
return pht(
56
'%s now requires audit.',
57
$this->renderObject());
58
case DiffusionCommitAuditStatus::CONCERN_RAISED:
59
return pht(
60
'%s now has outstanding concerns.',
61
$this->renderObject());
62
case DiffusionCommitAuditStatus::NEEDS_VERIFICATION:
63
return pht(
64
'%s now requires verification by auditors.',
65
$this->renderObject());
66
case DiffusionCommitAuditStatus::AUDITED:
67
return pht(
68
'All concerns with %s have now been addressed.',
69
$this->renderObject());
70
}
71
72
return null;
73
}
74
75
}
76
77