summaryrefslogtreecommitdiff
path: root/lib/DBInfoscreen/Controller
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2023-02-03 18:10:59 +0100
committerDaniel Friesel <derf@finalrewind.org>2023-02-03 18:10:59 +0100
commit053ae77db80d7be516b27721a84a6e6254306b62 (patch)
tree6aaba2fb056509213f66c27e79401e423a51dc51 /lib/DBInfoscreen/Controller
parentbb8530ef7913c0a45939ab3837978b146ea6693e (diff)
hafas: if there is just one candidate: redirect to it
Diffstat (limited to 'lib/DBInfoscreen/Controller')
-rw-r--r--lib/DBInfoscreen/Controller/Stationboard.pm6
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;