diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-06-14 17:48:46 +0200 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-06-14 17:48:46 +0200 |
commit | 3a955c0105bf13d040a821e2c87a19694202cde6 (patch) | |
tree | ea0dfbf92feace0a6922096289b2d6cb17f1a981 /lib/Travelynx/Controller | |
parent | 19dea1ad13029d19cba38e7d1338718149c139fb (diff) |
EFA: checkin support
worker support and cancellations are still missing
Diffstat (limited to 'lib/Travelynx/Controller')
-rw-r--r-- | lib/Travelynx/Controller/Account.pm | 3 | ||||
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 30 |
2 files changed, 24 insertions, 9 deletions
diff --git a/lib/Travelynx/Controller/Account.pm b/lib/Travelynx/Controller/Account.pm index 74c272f..bf1eac2 100644 --- a/lib/Travelynx/Controller/Account.pm +++ b/lib/Travelynx/Controller/Account.pm @@ -1084,7 +1084,8 @@ sub backend_form { $backend->{homepage} = $s->{homepage}; $backend->{regions} = [ map { $place_map{$_} // $_ } @{ $s->{coverage}{regions} // [] } ]; - $backend->{has_area} = $s->{coverage}{area} ? 1 : 0; + $backend->{has_area} = $s->{coverage}{area} ? 1 : 0; + $backend->{association} = 1; if ( $s->{coverage}{area} diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index cc3e1ac..9826211 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -841,6 +841,7 @@ sub travel_action { sub { return $self->checkin_p( dbris => $params->{dbris}, + efa => $params->{efa}, hafas => $params->{hafas}, motis => $params->{motis}, station => $params->{station}, @@ -877,6 +878,9 @@ sub travel_action { if ( $status->{is_dbris} ) { $station_link .= '?dbris=' . $status->{backend_name}; } + elsif ( $status->{is_efa} ) { + $station_link .= '?efa=' . $status->{backend_name}; + } elsif ( $status->{is_hafas} ) { $station_link .= '?hafas=' . $status->{backend_name}; } @@ -916,6 +920,9 @@ sub travel_action { if ( $status->{is_dbris} ) { $station_link .= '?dbris=' . $status->{backend_name}; } + elsif ( $status->{is_efa} ) { + $station_link .= '?efa=' . $status->{backend_name}; + } elsif ( $status->{is_hafas} ) { $station_link .= '?hafas=' . $status->{backend_name}; } @@ -974,6 +981,12 @@ sub travel_action { . '?dbris=' . $status->{backend_name}; } + elsif ( $status->{is_efa} ) { + $redir + = '/s/' + . $status->{dep_eva} . '?efa=' + . $status->{backend_name}; + } elsif ( $status->{is_hafas} ) { $redir = '/s/' @@ -1004,6 +1017,7 @@ sub travel_action { $self->render_later; $self->checkin_p( dbris => $params->{dbris}, + efa => $params->{efa}, hafas => $params->{hafas}, motis => $params->{motis}, station => $params->{station}, @@ -1165,19 +1179,19 @@ sub station { lookbehind => 30, ); } - elsif ($hafas_service) { - $promise = $self->hafas->get_departures_p( - service => $hafas_service, - eva => $station, + elsif ($efa_service) { + $promise = $self->efa->get_departures_p( + service => $efa_service, + name => $station, timestamp => $timestamp, lookbehind => 30, lookahead => 30, ); } - elsif ($efa_service) { - $promise = $self->efa->get_departures_p( - service => $efa_service, - name => $station, + elsif ($hafas_service) { + $promise = $self->hafas->get_departures_p( + service => $hafas_service, + eva => $station, timestamp => $timestamp, lookbehind => 30, lookahead => 30, |