diff options
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Auth/Phone.pm | 6 | ||||
-rw-r--r-- | perllib/FixMyStreet/SMS.pm | 16 |
2 files changed, 13 insertions, 9 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Auth/Phone.pm b/perllib/FixMyStreet/App/Controller/Auth/Phone.pm index e4ffc2205..6c6d7006e 100644 --- a/perllib/FixMyStreet/App/Controller/Auth/Phone.pm +++ b/perllib/FixMyStreet/App/Controller/Auth/Phone.pm @@ -90,6 +90,12 @@ sub send_token : Private { my ( $self, $c, $token_data, $token_scope, $to ) = @_; my $result = FixMyStreet::SMS->send_token($token_data, $token_scope, $to); + if ($result->{error}) { + $c->log->debug("Failure sending text containing code *$result->{random}*"); + $c->stash->{sms_error} = $result->{error}; + $c->stash->{username_error} = 'sms_failed'; + return; + } $c->stash->{token} = $result->{token}; $c->log->debug("Sending text containing code *$result->{random}*"); $c->stash->{template} = 'auth/smsform.html'; diff --git a/perllib/FixMyStreet/SMS.pm b/perllib/FixMyStreet/SMS.pm index c71cceadc..dff27e018 100644 --- a/perllib/FixMyStreet/SMS.pm +++ b/perllib/FixMyStreet/SMS.pm @@ -3,7 +3,7 @@ package FixMyStreet::SMS; use strict; use warnings; -# use JSON::MaybeXS; +use JSON::MaybeXS; use Moo; use Number::Phone::Lib; use WWW::Twilio::API; @@ -44,7 +44,7 @@ sub send_token { return { random => $random, token => $token_obj->token, - result => $result, + %$result, }; } @@ -55,13 +55,11 @@ sub send { To => $params{to}, Body => $params{body}, ); - # At present, we do nothing and assume sent okay. - # TODO add error checking - # my $data = decode_json($output->{content}); - # if ($output->{code} != 200) { - # return { error => "$data->{message} ($data->{code})" }; - # } - # return { success => $data->{sid} }; + my $data = decode_json($output->{content}); + if ($output->{code} >= 400) { + return { error => "$data->{message} ($data->{code})" }; + } + return { success => $data->{sid} }; } =head2 parse_username |