diff options
-rw-r--r-- | cpanfile.snapshot | 191 | ||||
-rwxr-xr-x | lib/Travelynx.pm | 1 | ||||
-rwxr-xr-x | lib/Travelynx/Controller/Api.pm | 2 | ||||
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 9 | ||||
-rwxr-xr-x | lib/Travelynx/Model/Journeys.pm | 23 | ||||
-rw-r--r-- | templates/bad_gateway.html.ep | 21 | ||||
-rw-r--r-- | templates/login.html.ep | 2 | ||||
-rw-r--r-- | templates/register.html.ep | 2 |
8 files changed, 144 insertions, 107 deletions
diff --git a/cpanfile.snapshot b/cpanfile.snapshot index dcaa96b..66388e8 100644 --- a/cpanfile.snapshot +++ b/cpanfile.snapshot @@ -1614,38 +1614,38 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 perl 5.006 - MailTools-2.21 - pathname: M/MA/MARKOV/MailTools-2.21.tar.gz - provides: - Mail::Address 2.21 - Mail::Cap 2.21 - Mail::Field 2.21 - Mail::Field::AddrList 2.21 - Mail::Field::Date 2.21 - Mail::Field::Generic 2.21 - Mail::Filter 2.21 - Mail::Header 2.21 - Mail::Internet 2.21 - Mail::Mailer 2.21 - Mail::Mailer::qmail 2.21 - Mail::Mailer::rfc822 2.21 - Mail::Mailer::sendmail 2.21 - Mail::Mailer::smtp 2.21 - Mail::Mailer::smtp::pipe 2.21 - Mail::Mailer::smtps 2.21 - Mail::Mailer::smtps::pipe 2.21 - Mail::Mailer::testfile 2.21 - Mail::Mailer::testfile::pipe 2.21 - Mail::Send 2.21 - Mail::Util 2.21 - MailTools 2.21 + MailTools-2.22 + pathname: M/MA/MARKOV/MailTools-2.22.tar.gz + provides: + Mail::Address 2.22 + Mail::Cap 2.22 + Mail::Field 2.22 + Mail::Field::AddrList 2.22 + Mail::Field::Date 2.22 + Mail::Field::Generic 2.22 + Mail::Filter 2.22 + Mail::Header 2.22 + Mail::Internet 2.22 + Mail::Mailer 2.22 + Mail::Mailer::qmail 2.22 + Mail::Mailer::rfc822 2.22 + Mail::Mailer::sendmail 2.22 + Mail::Mailer::smtp 2.22 + Mail::Mailer::smtp::pipe 2.22 + Mail::Mailer::smtps 2.22 + Mail::Mailer::smtps::pipe 2.22 + Mail::Mailer::testfile 2.22 + Mail::Mailer::testfile::pipe 2.22 + Mail::Send 2.22 + Mail::Util 2.22 + MailTools 2.22 requirements: Date::Format 0 Date::Parse 0 ExtUtils::MakeMaker 0 IO::Handle 0 Net::Domain 1.05 - Net::SMTP 1.03 + Net::SMTP 1.28 Test::More 0 Math-Polygon-1.10 pathname: M/MA/MARKOV/Math-Polygon-1.10.tar.gz @@ -1784,8 +1784,8 @@ DISTRIBUTIONS Mojolicious 8.50 SQL::Abstract::Pg 1.0 perl 5.016 - Mojolicious-9.38 - pathname: S/SR/SRI/Mojolicious-9.38.tar.gz + Mojolicious-9.39 + pathname: S/SR/SRI/Mojolicious-9.39.tar.gz provides: Mojo undef Mojo::Asset undef @@ -1854,7 +1854,7 @@ DISTRIBUTIONS Mojo::UserAgent::Transactor undef Mojo::Util undef Mojo::WebSocket undef - Mojolicious 9.38 + Mojolicious 9.39 Mojolicious::Command undef Mojolicious::Command::Author::cpanify undef Mojolicious::Command::Author::generate undef @@ -2552,19 +2552,19 @@ DISTRIBUTIONS Test::Pod 0 Travel::Status::DE::IRIS 1.2 perl v5.20.0 - Travel-Status-DE-DeutscheBahn-6.11 - pathname: D/DE/DERF/Travel-Status-DE-DeutscheBahn-6.11.tar.gz - provides: - Travel::Status::DE::DeutscheBahn 6.11 - Travel::Status::DE::HAFAS 6.11 - Travel::Status::DE::HAFAS::Journey 6.11 - Travel::Status::DE::HAFAS::Location 6.11 - Travel::Status::DE::HAFAS::Message 6.11 - Travel::Status::DE::HAFAS::Polyline 6.11 - Travel::Status::DE::HAFAS::Product 6.11 - Travel::Status::DE::HAFAS::Services 6.11 - Travel::Status::DE::HAFAS::Stop 6.11 - Travel::Status::DE::HAFAS::StopFinder 6.11 + Travel-Status-DE-DeutscheBahn-6.12 + pathname: D/DE/DERF/Travel-Status-DE-DeutscheBahn-6.12.tar.gz + provides: + Travel::Status::DE::DeutscheBahn 6.12 + Travel::Status::DE::HAFAS 6.12 + Travel::Status::DE::HAFAS::Journey 6.12 + Travel::Status::DE::HAFAS::Location 6.12 + Travel::Status::DE::HAFAS::Message 6.12 + Travel::Status::DE::HAFAS::Polyline 6.12 + Travel::Status::DE::HAFAS::Product 6.12 + Travel::Status::DE::HAFAS::Services 6.12 + Travel::Status::DE::HAFAS::Stop 6.12 + Travel::Status::DE::HAFAS::StopFinder 6.12 requirements: Carp 0 Class::Accessor 0.16 @@ -2636,57 +2636,62 @@ DISTRIBUTIONS requirements: ExtUtils::MakeMaker 0 common::sense 0 - URI-5.29 - pathname: O/OA/OALDERS/URI-5.29.tar.gz - provides: - URI 5.29 - URI::Escape 5.29 - URI::Heuristic 5.29 - URI::IRI 5.29 - URI::QueryParam 5.29 - URI::Split 5.29 - URI::URL 5.29 - URI::WithBase 5.29 - URI::data 5.29 - URI::file 5.29 - URI::file::Base 5.29 - URI::file::FAT 5.29 - URI::file::Mac 5.29 - URI::file::OS2 5.29 - URI::file::QNX 5.29 - URI::file::Unix 5.29 - URI::file::Win32 5.29 - URI::ftp 5.29 - URI::geo 5.29 - URI::gopher 5.29 - URI::http 5.29 - URI::https 5.29 - URI::icap 5.29 - URI::icaps 5.29 - URI::ldap 5.29 - URI::ldapi 5.29 - URI::ldaps 5.29 - URI::mailto 5.29 - URI::mms 5.29 - URI::news 5.29 - URI::nntp 5.29 - URI::nntps 5.29 - URI::otpauth 5.29 - URI::pop 5.29 - URI::rlogin 5.29 - URI::rsync 5.29 - URI::rtsp 5.29 - URI::rtspu 5.29 - URI::sftp 5.29 - URI::sip 5.29 - URI::sips 5.29 - URI::snews 5.29 - URI::ssh 5.29 - URI::telnet 5.29 - URI::tn3270 5.29 - URI::urn 5.29 - URI::urn::isbn 5.29 - URI::urn::oid 5.29 + URI-5.31 + pathname: O/OA/OALDERS/URI-5.31.tar.gz + provides: + URI 5.31 + URI::Escape 5.31 + URI::Heuristic 5.31 + URI::IRI 5.31 + URI::QueryParam 5.31 + URI::Split 5.31 + URI::URL 5.31 + URI::WithBase 5.31 + URI::data 5.31 + URI::file 5.31 + URI::file::Base 5.31 + URI::file::FAT 5.31 + URI::file::Mac 5.31 + URI::file::OS2 5.31 + URI::file::QNX 5.31 + URI::file::Unix 5.31 + URI::file::Win32 5.31 + URI::ftp 5.31 + URI::ftpes 5.31 + URI::ftps 5.31 + URI::geo 5.31 + URI::gopher 5.31 + URI::http 5.31 + URI::https 5.31 + URI::icap 5.31 + URI::icaps 5.31 + URI::irc 5.31 + URI::ircs 5.31 + URI::ldap 5.31 + URI::ldapi 5.31 + URI::ldaps 5.31 + URI::mailto 5.31 + URI::mms 5.31 + URI::news 5.31 + URI::nntp 5.31 + URI::nntps 5.31 + URI::otpauth 5.31 + URI::pop 5.31 + URI::rlogin 5.31 + URI::rsync 5.31 + URI::rtsp 5.31 + URI::rtspu 5.31 + URI::scp 5.31 + URI::sftp 5.31 + URI::sip 5.31 + URI::sips 5.31 + URI::snews 5.31 + URI::ssh 5.31 + URI::telnet 5.31 + URI::tn3270 5.31 + URI::urn 5.31 + URI::urn::isbn 5.31 + URI::urn::oid 5.31 requirements: Carp 0 Cwd 0 diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index e154e8d..c73f96d 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -2013,6 +2013,7 @@ sub startup { $self->log->debug( "... checked in : $traewelling->{dep_name} $traewelling->{dep_eva} -> $traewelling->{arr_name} $traewelling->{arr_eva}" ); + $self->users->mark_seen( uid => $uid ); my $user_status = $self->get_user_status($uid); if ( $user_status->{checked_in} ) { $self->log->debug( diff --git a/lib/Travelynx/Controller/Api.pm b/lib/Travelynx/Controller/Api.pm index b732810..f31195a 100755 --- a/lib/Travelynx/Controller/Api.pm +++ b/lib/Travelynx/Controller/Api.pm @@ -51,6 +51,8 @@ sub documentation { sub get_v1 { my ($self) = @_; + $self->res->headers->access_control_allow_origin(q{*}); + my $api_action = $self->stash('user_action'); my $api_token = $self->stash('token'); if ( $api_action !~ qr{ ^ (?: status | history | action ) $ }x ) { diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index bbd85b6..0a94a1e 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -1129,11 +1129,18 @@ sub station { } )->wait; } + elsif ( $err =~ m{svcRes} ) { + $self->render( + 'bad_gateway', + message => $err, + status => 502 + ); + } else { $self->render( 'exception', exception => $err, - status => 502 + status => 500 ); } } diff --git a/lib/Travelynx/Model/Journeys.pm b/lib/Travelynx/Model/Journeys.pm index 343d680..b80a441 100755 --- a/lib/Travelynx/Model/Journeys.pm +++ b/lib/Travelynx/Model/Journeys.pm @@ -1091,32 +1091,33 @@ sub sanity_check { if ( defined $journey->{sched_duration} and $journey->{sched_duration} <= 0 ) { - return -'Die geplante Dauer dieser Fahrt ist ≤ 0. Teleportation und Zeitreisen werden aktuell nicht unterstützt.'; + return 'Die geplante Dauer dieser Fahrt ist ≤ 0.' + . ' Teleportation und Zeitreisen werden in diesem Universum nicht unterstützt.'; } if ( defined $journey->{rt_duration} and $journey->{rt_duration} <= 0 ) { - return -'Die Dauer dieser Fahrt ist ≤ 0. Teleportation und Zeitreisen werden aktuell nicht unterstützt.'; + return 'Die Dauer dieser Fahrt ist ≤ 0.' + . ' Teleportation und Zeitreisen werden in diesem Universum nicht unterstützt.'; } if ( $journey->{sched_duration} - and $journey->{sched_duration} > 60 * 60 * 24 ) + and $journey->{sched_duration} > 60 * 60 * 72 ) { - return 'Die Fahrt ist länger als 24 Stunden.'; + return 'Die Fahrt ist länger als drei Tage.'; } if ( $journey->{rt_duration} - and $journey->{rt_duration} > 60 * 60 * 24 ) + and $journey->{rt_duration} > 60 * 60 * 72 ) { - return 'Die Fahrt ist länger als 24 Stunden.'; + return 'Die Fahrt ist länger als drei Tage.'; } if ( $journey->{kmh_route} > 500 or $journey->{kmh_beeline} > 500 ) { - return 'Fahrten mit über 500 km/h? Schön wär\'s.'; + return 'Die berechnete Geschwindigkeit beträgt über 500 km/h.' + . ' Das wirkt unrealistisch.'; } if ( $journey->{route} and @{ $journey->{route} } > 199 ) { my $stop_count = @{ $journey->{route} }; - return -"Die Fahrt hat $stop_count Unterwegshalte. Also ich weiß ja nicht so recht."; + return "Die Fahrt hat $stop_count Unterwegshalte. " + . ' Stimmt das wirklich?'; } if ( $journey->{edited} & 0x0010 and not $lax ) { my @unknown_stations diff --git a/templates/bad_gateway.html.ep b/templates/bad_gateway.html.ep new file mode 100644 index 0000000..773cda8 --- /dev/null +++ b/templates/bad_gateway.html.ep @@ -0,0 +1,21 @@ +<div class="row"> + <div class="col s12"> + <div class="card caution-color"> + <div class="card-content white-text"> + <span class="card-title">502 Bad Gateway</span> + <p> + Das von travelynx genutzte Backend hat einen Fehler zurückgegeben. + Oft sind diese temporär – versuche es in ein paar Sekunden bis Minuten noch einmal. + </p> + </div> + </div> + </div> +</div> +<div class="row"> + <div class="col s12"> + <p>Details:</p> + <p style="font-family: monospace;"> + %= $message + </p> + </div> +</div> diff --git a/templates/login.html.ep b/templates/login.html.ep index e60ed24..3a9cc1f 100644 --- a/templates/login.html.ep +++ b/templates/login.html.ep @@ -75,7 +75,7 @@ </div> <div class="row"> <div class="col s12 m12 l12"> - Mit der Anmeldung stimmst du den <a href="/tos">Nutzungsbedingdungen</a> zu. + Mit der Anmeldung stimmst du den <a href="/tos">Nutzungsbedingungen</a> zu. </div> </div> <div class="row"> diff --git a/templates/register.html.ep b/templates/register.html.ep index cc47aa6..f9a486a 100644 --- a/templates/register.html.ep +++ b/templates/register.html.ep @@ -28,7 +28,7 @@ </div> <div class="row"> <div class="col s12 m12 l12"> - Mit deiner Registrierung stimmst du den <a href="/tos">Nutzungsbedingdungen</a> zu. + Mit deiner Registrierung stimmst du den <a href="/tos">Nutzungsbedingungen</a> zu. </div> </div> <div class="row"> |