diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Travelynx/Controller/Account.pm | 3 | ||||
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 8 | ||||
-rw-r--r-- | lib/Travelynx/Model/InTransit.pm | 6 |
3 files changed, 16 insertions, 1 deletions
diff --git a/lib/Travelynx/Controller/Account.pm b/lib/Travelynx/Controller/Account.pm index 96be200..533e6eb 100644 --- a/lib/Travelynx/Controller/Account.pm +++ b/lib/Travelynx/Controller/Account.pm @@ -1277,7 +1277,8 @@ sub backend_form { $backend_by_id{ $backend->{id} } = $backend; } - my @frequent_backends = map { $backend_by_id{$_} } + my @frequent_backends = grep { $_->{type} } + map { $backend_by_id{$_} } $self->journeys->get_frequent_backend_ids( uid => $user->{id} ); @backends = map { $_->[1] } diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index 4230163..5110c00 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -2153,7 +2153,15 @@ sub journey_details { if ($journey) { if ( $self->stash('polyline_export') ) { + + if ( not( $journey->{polyline} and @{ $journey->{polyline} } ) ) { + $journey->{polyline} + = [ map { [ $_->[2]{lon}, $_->[2]{lat}, $_->[1] ] } + @{ $journey->{route} } ]; + } + delete $self->stash->{layout}; + my $xml = $self->render_to_string( template => 'polyline', name => sprintf( '%s %s: %s → %s', diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm index 5f27a22..ab724a4 100644 --- a/lib/Travelynx/Model/InTransit.pm +++ b/lib/Travelynx/Model/InTransit.pm @@ -1635,6 +1635,12 @@ sub estimate_trip_position { // $route[$i][2]{rt_dep} // $route[$i][2]{sched_dep} // 0; my $ts_dep = $route[$i][2]{rt_dep} // $route[$i][2]{sched_dep} // $route[$i][2]{rt_arr} // $route[$i][2]{sched_arr} // 0; + if ( $ts and $ts_dep and $now >= $ts and $now <= $ts_dep ) { + + # Currently at a stop + @now_latlon = ( $route[$i][2]{lat}, $route[$i][2]{lon} ); + last; + } if ( $ts and $prev_ts and $now > $prev_ts |