diff options
Diffstat (limited to 'perllib')
-rw-r--r-- | perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm | 2 | ||||
-rw-r--r-- | perllib/FixMyStreet/Script/CreateSuperuser.pm | 20 |
2 files changed, 15 insertions, 7 deletions
diff --git a/perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm b/perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm index 3be6e4594..82e6e591e 100644 --- a/perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm +++ b/perllib/DBIx/Class/FixMyStreet/EncodedColumn.pm @@ -10,7 +10,7 @@ sub set_column { my $self = shift; if ($_[0] eq 'password') { my $cobrand = $self->result_source->schema->cobrand; - if ($cobrand->moniker eq 'tfl') { + if ($cobrand && $cobrand->moniker eq 'tfl') { if (defined $_[1]) { if (defined $_[2]) { $self->set_extra_metadata(tfl_password => $_[1]); 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; |