diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-06-19 19:34:55 +0200 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-06-19 19:34:55 +0200 |
commit | 43eeb702c198bf44defc0a088da7854b77795ed2 (patch) | |
tree | 06433f459c95c0bbae93d9db8de49649852b68a8 | |
parent | 60786002a555cd88745bf6865ce4c5ac50f8cbbd (diff) |
Traveling#station: GET parameters always override user configuration
Closes #253
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index bb45378..8e22852 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -1157,14 +1157,35 @@ sub station { $timestamp = DateTime->now( time_zone => 'Europe/Berlin' ); } - my $dbris_service = $self->param('dbris') - // ( $user->{backend_dbris} ? $user->{backend_name} : undef ); - my $efa_service = $self->param('efa') - // ( $user->{backend_efa} ? $user->{backend_name} : undef ); - my $hafas_service = $self->param('hafas') - // ( $user->{backend_hafas} ? $user->{backend_name} : undef ); - my $motis_service = $self->param('motis') - // ( $user->{backend_motis} ? $user->{backend_name} : undef ); + my ( $dbris_service, $efa_service, $hafas_service, $motis_service ); + + if ( $self->param('dbris') ) { + $dbris_service = $self->param('dbris'); + } + elsif ( $self->param('efa') ) { + $efa_service = $self->param('efa'); + } + elsif ( $self->param('hafas') ) { + $hafas_service = $self->param('hafas'); + } + elsif ( $self->param('motis') ) { + $motis_service = $self->param('motis'); + } + else { + if ( $user->{backend_dbris} ) { + $dbris_service = $user->{backend_name}; + } + elsif ( $user->{backend_efa} ) { + $efa_service = $user->{backend_name}; + } + elsif ( $user->{backend_hafas} ) { + $hafas_service = $user->{backend_name}; + } + elsif ( $user->{backend_motis} ) { + $motis_service = $user->{backend_name}; + } + } + my $promise; if ($dbris_service) { if ( $station !~ m{ [@] L = \d+ }x ) { |