summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-06-19 19:34:55 +0200
committerBirte Kristina Friesel <derf@finalrewind.org>2025-06-19 19:34:55 +0200
commit43eeb702c198bf44defc0a088da7854b77795ed2 (patch)
tree06433f459c95c0bbae93d9db8de49649852b68a8
parent60786002a555cd88745bf6865ce4c5ac50f8cbbd (diff)
Traveling#station: GET parameters always override user configuration
Closes #253
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm37
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 ) {