summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Travelynx/Command/work.pm11
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm14
-rw-r--r--lib/Travelynx/Model/InTransit.pm2
-rw-r--r--templates/bad_gateway.html.ep7
-rw-r--r--templates/gateway_timeout.html.ep7
-rw-r--r--templates/select_backend.html.ep2
6 files changed, 31 insertions, 12 deletions
diff --git a/lib/Travelynx/Command/work.pm b/lib/Travelynx/Command/work.pm
index 4473483..5385e9b 100644
--- a/lib/Travelynx/Command/work.pm
+++ b/lib/Travelynx/Command/work.pm
@@ -116,10 +116,15 @@ sub run {
dep_eva => $dep,
arr_eva => $arr
);
- if ( $entry->{backend_id} <= 1
+ if (
+ (
+ $entry->{backend_id} <= 1
+ or $entry->{backend_name} eq 'VRN'
+ or $entry->{backend_name} eq 'ÖBB'
+ )
and $journey->class <= 16
- and $found_arr->rt_arr->epoch - $now->epoch
- < 600 )
+ and $found_arr->arr->epoch - $now->epoch < 600
+ )
{
$self->app->add_wagonorder(
uid => $uid,
diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm
index 54eb12b..a0ae43b 100755
--- a/lib/Travelynx/Controller/Traveling.pm
+++ b/lib/Travelynx/Controller/Traveling.pm
@@ -1131,18 +1131,22 @@ sub station {
}
)->wait;
}
- elsif ( $err =~ m{svcRes|connection close|Service Temporarily Unavailable} ) {
+ elsif ( $err
+ =~ m{svcRes|connection close|Service Temporarily Unavailable} )
+ {
$self->render(
'bad_gateway',
- message => $err,
- status => 502
+ message => $err,
+ status => 502,
+ select_new_backend => 1,
);
}
elsif ( $err =~ m{timeout}i ) {
$self->render(
'gateway_timeout',
- message => $err,
- status => 504
+ message => $err,
+ status => 504,
+ select_new_backend => 1,
);
}
else {
diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm
index 62e60f1..43ecb90 100644
--- a/lib/Travelynx/Model/InTransit.pm
+++ b/lib/Travelynx/Model/InTransit.pm
@@ -30,7 +30,7 @@ my %visibility_atoi = (
sub _epoch {
my ($dt) = @_;
- return $dt ? $dt->epoch : 0;
+ return $dt ? $dt->epoch : undef;
}
sub epoch_to_dt {
diff --git a/templates/bad_gateway.html.ep b/templates/bad_gateway.html.ep
index ca69188..07bf29e 100644
--- a/templates/bad_gateway.html.ep
+++ b/templates/bad_gateway.html.ep
@@ -6,7 +6,12 @@
<p>
Das von travelynx genutzte Backend hat einen Fehler zurückgegeben.
travelynx hat keine Möglichkeiten, diese Situation zu beheben.
- Versuche es in ein paar Sekunden bis Minuten noch einmal.
+ % if (stash('select_new_backend')) {
+ Versuche es in ein paar Sekunden bis Minuten noch einmal oder <a href="/account/select_backend">wähle ein anderes Backend</a>.
+ % }
+ % else {
+ Versuche es in ein paar Sekunden bis Minuten noch einmal.
+ % }
</p>
</div>
</div>
diff --git a/templates/gateway_timeout.html.ep b/templates/gateway_timeout.html.ep
index 86e844d..9cf8690 100644
--- a/templates/gateway_timeout.html.ep
+++ b/templates/gateway_timeout.html.ep
@@ -6,7 +6,12 @@
<p>
Das von travelynx genutzte Backend hat nicht rechtzeitig reagiert.
travelynx hat keine Möglichkeiten, diese Situation zu beheben.
- Vrsuche es in ein paar Sekunden bis Minuten noch einmal.
+ % if (stash('select_new_backend')) {
+ Versuche es in ein paar Sekunden bis Minuten noch einmal oder <a href="/account/select_backend">wähle ein anderes Backend</a>.
+ % }
+ % else {
+ Versuche es in ein paar Sekunden bis Minuten noch einmal.
+ % }
</p>
</div>
</div>
diff --git a/templates/select_backend.html.ep b/templates/select_backend.html.ep
index 3c3af8d..8af157d 100644
--- a/templates/select_backend.html.ep
+++ b/templates/select_backend.html.ep
@@ -41,7 +41,7 @@
</p>
<p>
<strong>VRN</strong> ist eine gute Wahl für Nah-, Regional- und Fernverkehr in Deutschland. Hier gibt es meist Echtzeitdaten, allgemeine Meldungen, Wagenreihungen und Kartendaten.
- <strong>Deutsche Bahn</strong> (IRIS-TTS) liefert Echtzeitdaten, Wagenreihungen und Verspätungsmeldungen, jedoch keine Kartendaten.
+ <strong>Deutsche Bahn</strong> (IRIS-TTS) liefert Echtzeitdaten, Wagenreihungen und Verspätungsmeldungen für Regional- und Fernverkehr in Deutschland. In vielen Fällen sind auch allgemeine Meldungen und Kartendaten verfügbar.
<strong>ÖBB</strong> liefern Kartendaten und Wagenreihungen für Fernverkehr in Deutschland, jedoch keine Meldungen. Echtzeitdaten sind teilweise verfügbar.
</p>
<p>