summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2022-07-27 13:54:20 +0200
committerDaniel Friesel <derf@finalrewind.org>2022-07-27 13:54:20 +0200
commit2da48e05bef789e3d4f42588dbeb0ad4ca0a75d5 (patch)
tree18002f79c2fd4109bb3ba13cecd5c86374bfdf13
parent52ff7565774049c6fa8189a36e40f8e01a6b2e71 (diff)
move get_connecting_trains call from _checkeed_in to controller
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm23
-rw-r--r--templates/_checked_in.html.ep12
-rw-r--r--templates/landingpage.html.ep1
3 files changed, 27 insertions, 9 deletions
diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm
index 6a53fe0..0493d25 100755
--- a/lib/Travelynx/Controller/Traveling.pm
+++ b/lib/Travelynx/Controller/Traveling.pm
@@ -17,9 +17,20 @@ use Travel::Status::DE::IRIS::Stations;
sub homepage {
my ($self) = @_;
if ( $self->is_user_authenticated ) {
+ my $status = $self->get_user_status;
+ my @connecting_trains;
+ if ( $status->{checked_in} ) {
+ if ( defined $status->{arrival_countdown}
+ and $status->{arrival_countdown} < ( 20 * 60 ) )
+ {
+ @connecting_trains = $self->get_connecting_trains();
+ }
+ }
$self->render(
'landingpage',
version => $self->app->config->{version} // 'UNKNOWN',
+ status => $status,
+ connections => \@connecting_trains,
with_autocomplete => 1,
with_geolocation => 1
);
@@ -348,7 +359,17 @@ sub status_card {
delete $self->stash->{layout};
if ( $status->{checked_in} ) {
- $self->render( '_checked_in', journey => $status );
+ my @connecting_trains;
+ if ( defined $status->{arrival_countdown}
+ and $status->{arrival_countdown} < ( 20 * 60 ) )
+ {
+ @connecting_trains = $self->get_connecting_trains();
+ }
+ $self->render(
+ '_checked_in',
+ journey => $status,
+ connections => \@connecting_trains
+ );
}
elsif ( $status->{cancellation} ) {
my @connecting_trains = $self->get_connecting_trains(
diff --git a/templates/_checked_in.html.ep b/templates/_checked_in.html.ep
index bd1ddc6..f2b6eba 100644
--- a/templates/_checked_in.html.ep
+++ b/templates/_checked_in.html.ep
@@ -193,14 +193,12 @@
</ul>
</p>
% }
- % if (defined $journey->{arrival_countdown} and $journey->{arrival_countdown} < (20*60)) {
- % if (my @connections = get_connecting_trains()) {
- <span class="card-title" style="margin-top: 2ex;">Verbindungen</span>
- % if ($journey->{arrival_countdown} < 0) {
- <p>Zug auswählen zum Einchecken mit Zielwahl.</p>
- % }
- %= include '_connections', connections => \@connections, checkin_from => $journey->{arrival_countdown} < 0 ? $journey->{arr_ds100} : undef;
+ % if (my @connections = @{stash('connections') // []}) {
+ <span class="card-title" style="margin-top: 2ex;">Verbindungen</span>
+ % if ($journey->{arrival_countdown} < 0) {
+ <p>Zug auswählen zum Einchecken mit Zielwahl.</p>
% }
+ %= include '_connections', connections => \@connections, checkin_from => $journey->{arrival_countdown} < 0 ? $journey->{arr_ds100} : undef;
% }
% if (defined $journey->{arrival_countdown} and $journey->{arrival_countdown} <= 0) {
<p style="margin-top: 2ex;">
diff --git a/templates/landingpage.html.ep b/templates/landingpage.html.ep
index 61d136e..3e7d761 100644
--- a/templates/landingpage.html.ep
+++ b/templates/landingpage.html.ep
@@ -13,7 +13,6 @@
% }
<div class="row">
<div class="col s12 statuscol">
- % my $status = get_user_status();
% if ($status->{checked_in}) {
%= include '_checked_in', journey => $status;
% }