Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/people/management/PhabricatorPeopleManagementApproveWorkflow.php
12256 views
1
<?php
2
3
4
final class PhabricatorPeopleManagementApproveWorkflow
5
extends PhabricatorPeopleManagementWorkflow {
6
7
protected function didConstruct() {
8
$arguments = array_merge(
9
$this->getUserSelectionArguments(),
10
array());
11
12
$this
13
->setName('approve')
14
->setExamples('**approve** --user __username__')
15
->setSynopsis(pht('Approves a user.'))
16
->setArguments($arguments);
17
}
18
19
public function execute(PhutilArgumentParser $args) {
20
$user = $this->selectUser($args);
21
$display_name = $user->getUsername();
22
23
if ($user->getIsApproved()) {
24
throw new PhutilArgumentUsageException(
25
pht(
26
'User account "%s" is already approved. You can only '.
27
'approve accounts that are not yet approved.',
28
$display_name));
29
}
30
31
$xactions = array();
32
$xactions[] = $user->getApplicationTransactionTemplate()
33
->setTransactionType(PhabricatorUserApproveTransaction::TRANSACTIONTYPE)
34
->setNewValue(true);
35
36
$this->applyTransactions($user, $xactions);
37
38
$this->logOkay(
39
pht('DONE'),
40
pht('Approved user account "%s".', $display_name));
41
42
return 0;
43
}
44
}
45
46