summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-03-23 18:26:35 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2025-03-23 18:26:35 +0100
commitf290638934800a2508360a066dbde7a8dcf938e2 (patch)
tree99cbbd85429e309e1c78a05bd6d58c5b26b68566 /lib
parent4435e0942d9385572eedb7b2fe11787cd8168e20 (diff)
dbris: /s/: redirect to proper station ID if needed
Diffstat (limited to 'lib')
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm15
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,