diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-03-23 18:26:35 +0100 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-03-23 18:26:35 +0100 |
commit | f290638934800a2508360a066dbde7a8dcf938e2 (patch) | |
tree | 99cbbd85429e309e1c78a05bd6d58c5b26b68566 /lib | |
parent | 4435e0942d9385572eedb7b2fe11787cd8168e20 (diff) |
dbris: /s/: redirect to proper station ID if needed
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index a6e56b9..bb82cb5 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -967,6 +967,21 @@ sub station { // ( $user->{backend_hafas} ? $user->{backend_name} : undef ); my $promise; if ($dbris_service) { + if ( $station !~ m{ [@] L = \d+ }x ) { + $self->render_later; + $self->dbris->get_station_id_p($station)->then( + sub { + my ($dbris_station) = @_; + $self->redirect_to( '/s/' . $dbris_station->{id} ); + } + )->catch( + sub { + my ($err) = @_; + $self->redirect_to('/'); + } + )->wait; + return; + } $promise = $self->dbris->get_departures_p( station => $station, timestamp => $timestamp, |