diff options
author | Daniel Friesel <derf@finalrewind.org> | 2021-01-04 21:22:51 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2021-01-04 21:22:51 +0100 |
commit | 00264d55f4230e793df193c1e0ef29bc318e5f85 (patch) | |
tree | 120fdb947229135e414418e4fd7231a0fbf33b05 /lib/DBInfoscreen.pm | |
parent | aa1a5ed571f6a87f512f8afa706160d1dd9800f8 (diff) |
move handle_no_results from helpers to Stationboard controller
Diffstat (limited to 'lib/DBInfoscreen.pm')
-rw-r--r-- | lib/DBInfoscreen.pm | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/lib/DBInfoscreen.pm b/lib/DBInfoscreen.pm index 94b4d5b..bfd8aa2 100644 --- a/lib/DBInfoscreen.pm +++ b/lib/DBInfoscreen.pm @@ -229,114 +229,6 @@ sub startup { ); $self->helper( - 'handle_no_results' => sub { - my ( $self, $backend, $station, $errstr ) = @_; - - if ( $backend eq 'ris' ) { - my $db_service = Travel::Status::DE::HAFAS::get_service('DB'); - my $sf = Travel::Status::DE::HAFAS::StopFinder->new( - url => $db_service->{stopfinder}, - input => $station, - ); - my @candidates - = map { [ $_->{name}, $_->{id} ] } $sf->results; - if ( @candidates > 1 - or ( @candidates == 1 and $candidates[0][1] ne $station ) ) - { - $self->render( - 'landingpage', - stationlist => \@candidates, - hide_opts => 0, - status => 300, - ); - return; - } - } - if ( $backend eq 'iris' ) { - my @candidates = map { [ $_->[1], $_->[0] ] } - Travel::Status::DE::IRIS::Stations::get_station($station); - if ( @candidates > 1 - or ( @candidates == 1 and $candidates[0][1] ne $station ) ) - { - $self->render( - 'landingpage', - stationlist => \@candidates, - hide_opts => 0, - status => 300, - ); - return; - } - } - $self->render( - 'landingpage', - error => ( $errstr // "Got no results for '$station'" ), - hide_opts => 0 - ); - return; - } - ); - - $self->helper( - 'handle_no_results_json' => sub { - my ( $self, $backend, $station, $errstr, $api_version ) = @_; - - my $callback = $self->param('callback'); - - $self->res->headers->access_control_allow_origin(q{*}); - my $json; - if ($errstr) { - $json = $self->render_to_string( - json => { - api_version => $api_version, - version => $self->config->{version}, - error => $errstr, - } - ); - } - else { - my @candidates = map { { code => $_->[0], name => $_->[1] } } - Travel::Status::DE::IRIS::Stations::get_station($station); - if ( @candidates > 1 - or - ( @candidates == 1 and $candidates[0]{code} ne $station ) ) - { - $json = $self->render_to_string( - json => { - api_version => $api_version, - version => $self->config->{version}, - error => 'ambiguous station code/name', - candidates => \@candidates, - } - ); - } - else { - $json = $self->render_to_string( - json => { - api_version => $api_version, - version => $self->config->{version}, - error => - ( $errstr // "Got no results for '$station'" ) - } - ); - } - } - if ($callback) { - $self->render( - data => "$callback($json);", - format => 'json' - ); - } - else { - $self->render( - data => $json, - format => 'json' - ); - } - return; - } - ); - - $self->helper( 'is_important' => sub { my ( $self, $stop ) = @_; |