summaryrefslogtreecommitdiff
path: root/lib/Travelynx/Controller
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Travelynx/Controller')
-rw-r--r--lib/Travelynx/Controller/Account.pm3
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm30
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,