Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F1130465
SwitchUserWorkflow.php
No One
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
michaeljs1990
Feb 26 2016, 12:02 AM
2016-02-26 00:02:17 (UTC+0)
Size
1 KB
Referenced Files
None
Subscribers
None
SwitchUserWorkflow.php
View Options
<?php
class
SwitchUserWorkflow
extends
IntegratorWorkflow
{
protected
function
didConstruct
()
{
$this
->
setName
(
'migrate-external-account'
)
->
setExamples
(
'**migrate-external-account** --username-old __olduser__ '
.
'--username-new __newuser__'
)
->
setSynopsis
(
pht
(
'Associate a new user account with an old one so history is not lost. '
.
'Only for external accounts.'
))
->
setArguments
([
[
'name'
=>
'username-old'
,
'param'
=>
'string'
,
'help'
=>
pht
(
'Old username that is no longer active.'
),
],
[
'name'
=>
'username-new'
,
'param'
=>
'string'
,
'help'
=>
pht
(
'New username for the user to use.'
),
],
]);
}
public
function
execute
(
PhutilArgumentParser
$args
)
{
$old_user
=
$this
->
requireArgument
(
$args
,
'username-old'
);
$new_user
=
$this
->
requireArgument
(
$args
,
'username-new'
);
$old_user_acct
=
id
(
new
PhabricatorExternalAccount
())
->
loadOneWhere
(
'accountId = %s'
,
$old_user
);
$new_user_acct
=
id
(
new
PhabricatorExternalAccount
())
->
loadOneWhere
(
'accountID = %s'
,
$new_user
);
$console
=
PhutilConsole
::
getConsole
();
if
(!
$old_user_acct
)
{
throw
$this
->
argumentUsageException
(
'%s does not exist.'
,
$old_user
);
}
if
(!
$new_user_acct
)
{
throw
$this
->
argumentUsageException
(
'%s does not exist.'
,
$new_user
);
}
// set the new user account to point to the old user account id
$old_user_phid
=
$old_user_acct
->
getUserPHID
();
$new_user_acct
->
setUserPHID
(
$old_user_phid
)
->
save
();
$console
->
writeOut
(
pht
(
"%s has been migrated to %s
\n
"
,
$old_user
,
$new_user
));
}
}
File Metadata
Details
Attached
Mime Type
text/plain; charset=utf-8
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
64197
Default Alt Text
SwitchUserWorkflow.php (1 KB)
Attached To
Mode
P1948 SwitchUserWorkflow.php
Attached
Detach File
Event Timeline
Log In to Comment