Path: blob/master/src/applications/people/management/PhabricatorPeopleManagementWorkflow.php
12256 views
<?php12abstract class PhabricatorPeopleManagementWorkflow3extends PhabricatorManagementWorkflow {45final protected function getUserSelectionArguments() {6return array(7array(8'name' => 'user',9'param' => 'username',10'help' => pht('User account to act on.'),11),12);13}1415final protected function selectUser(PhutilArgumentParser $argv) {16$username = $argv->getArg('user');1718if (!strlen($username)) {19throw new PhutilArgumentUsageException(20pht(21'Select a user account to act on with "--user <username>".'));22}2324$user = id(new PhabricatorPeopleQuery())25->setViewer($this->getViewer())26->withUsernames(array($username))27->executeOne();28if (!$user) {29throw new PhutilArgumentUsageException(30pht(31'No user with username "%s" exists.',32$username));33}3435return $user;36}3738final protected function applyTransactions(39PhabricatorUser $user,40array $xactions) {41assert_instances_of($xactions, 'PhabricatorUserTransaction');4243$viewer = $this->getViewer();44$application = id(new PhabricatorPeopleApplication())->getPHID();45$content_source = $this->newContentSource();4647$editor = $user->getApplicationTransactionEditor()48->setActor($viewer)49->setActingAsPHID($application)50->setContentSource($content_source)51->setContinueOnMissingFields(true);5253return $editor->applyTransactions($user, $xactions);54}5556}575859