diff options
author | Matthew Somerville <matthew@mysociety.org> | 2020-02-18 09:13:43 +0000 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2020-02-26 11:38:18 +0000 |
commit | 80d5e66ccc5b0d99db1391e035b584e9ae015339 (patch) | |
tree | 854df9c2e1223021f45260d05b3f3d4924024868 /perllib/FixMyStreet/Script/CreateSuperuser.pm | |
parent | 6954823390e7332bd8d1ab0afa28b3c0fb02db39 (diff) |
Fix password setting in createsuperuser script.
Diffstat (limited to 'perllib/FixMyStreet/Script/CreateSuperuser.pm')
-rw-r--r-- | perllib/FixMyStreet/Script/CreateSuperuser.pm | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/perllib/FixMyStreet/Script/CreateSuperuser.pm b/perllib/FixMyStreet/Script/CreateSuperuser.pm index 69d165abb..cbbea577a 100644 --- a/perllib/FixMyStreet/Script/CreateSuperuser.pm +++ b/perllib/FixMyStreet/Script/CreateSuperuser.pm @@ -7,19 +7,27 @@ use FixMyStreet; use FixMyStreet::DB; sub createsuperuser { - die "Specify a single email address and optionally password to create a superuser or grant superuser status to." if (@ARGV < 1 || @ARGV > 2); + my ($email, $password) = @_; - my $user = FixMyStreet::DB->resultset('User')->find_or_new({ email => $ARGV[0] }); + unless ($email) { + warn "Specify a single email address and optionally password to create a superuser or grant superuser status to.\n"; + return 1; + } + + my $user = FixMyStreet::DB->resultset('User')->find_or_new({ email => $email }); if ( !$user->in_storage ) { - die "Specify a password for this new user." if (@ARGV < 2); - $user->password($ARGV[1]); + unless ($password) { + warn "Specify a password for this new user.\n"; + return 1; + } + $user->password($password); $user->is_superuser(1); $user->insert; } else { $user->update({ is_superuser => 1 }); } print $user->email . " is now a superuser.\n"; + return 0; } - -1;
\ No newline at end of file +1; |