diff options
author | Daniel Friesel <derf@finalrewind.org> | 2023-02-03 18:10:59 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2023-02-03 18:10:59 +0100 |
commit | 053ae77db80d7be516b27721a84a6e6254306b62 (patch) | |
tree | 6aaba2fb056509213f66c27e79401e423a51dc51 /lib/DBInfoscreen/Controller | |
parent | bb8530ef7913c0a45939ab3837978b146ea6693e (diff) |
hafas: if there is just one candidate: redirect to it
Diffstat (limited to 'lib/DBInfoscreen/Controller')
-rw-r--r-- | lib/DBInfoscreen/Controller/Stationboard.pm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm index 1077dce..bf986d3 100644 --- a/lib/DBInfoscreen/Controller/Stationboard.pm +++ b/lib/DBInfoscreen/Controller/Stationboard.pm @@ -46,6 +46,12 @@ sub handle_no_results { sub { my (@candidates) = @_; @candidates = map { [ $_->{name}, $_->{id} ] } @candidates; + if ( @candidates == 1 ) { + my $s = $candidates[0][0]; + my $params = $self->req->params->to_string; + $self->redirect_to("/${s}?${params}"); + return; + } for my $candidate (@candidates) { $candidate->[0] =~ s{[&]#x0028;}{(}g; $candidate->[0] =~ s{[&]#x0029;}{)}g; |