passenger rights: show departures with delay ≥ 20 minutes as well

This is a quick workaround until I have finally reviewed #116
This commit is contained in:
Birte Kristina Friesel 2024-09-20 19:28:33 +02:00
parent fbc21f45c8
commit 515754b9b7
No known key found for this signature in database
GPG key ID: 19E6E524EBB177BA
2 changed files with 70 additions and 6 deletions

View file

@ -121,6 +121,8 @@ sub list_candidates {
} }
} }
my @abo_journeys
= grep { $_->{delay} >= 20 and $_->{delay} < 60 } @journeys;
@journeys = grep { $_->{delay} >= 60 or $_->{connection_missed} } @journeys; @journeys = grep { $_->{delay} >= 60 or $_->{connection_missed} } @journeys;
my @cancelled = $self->journeys->get( my @cancelled = $self->journeys->get(
@ -154,8 +156,9 @@ sub list_candidates {
$self->respond_to( $self->respond_to(
json => { json => [@journeys] }, json => { json => [@journeys] },
any => { any => {
template => 'passengerrights', template => 'passengerrights',
journeys => [@journeys] journeys => [@journeys],
abo_journeys => [@abo_journeys]
} }
); );
} }

View file

@ -2,10 +2,10 @@
<div class="row"> <div class="row">
<div class="col s12"> <div class="col s12">
<p> <p>
Gemäß der Fahrgastrechte im Eisenbahnverkehr besteht ab 60 Minuten Ab 60 Minuten Verspätung am Ziel besteht in einigen Fällen ein
Verspätung am Ziel ein Entschädigungsanspruch gegenüber dem Entschädigungsanspruch gegenüber dem Eisenbahnverkehrsunternehmen.
Eisenbahnverkehrsunternehmen. Dieser kann mit dem Dieser kann mit dem Fahrgastrechteformular oder online geltend
Fahrgastrechteformular geltend gemacht werden. gemacht werden.
</p> </p>
<p> <p>
Die folgenden Zugfahrten sind wahrscheinliche Kandidaten dafür. Die folgenden Zugfahrten sind wahrscheinliche Kandidaten dafür.
@ -73,3 +73,64 @@
</table> </table>
</div> </div>
</div> </div>
<div class="row">
<div class="col s12">
<p>
Bei Abo-Tickets besteht teilweise die Möglichkeit, bereits ab 20
Minuten Verspätung Fahrten gesammelt zu Entschädigungszwecken
einzureichen. Die folgenden Zugfahrten sind Kandidaten dafür.
Fahrten mit einer Verspätung von 60 Minuten oder mehr werden hier
nicht aufgeführt.
</p>
</div>
</div>
<div class="row">
<div class="col s12">
<table class="striped">
<thead>
<tr>
<th>Datum</th>
<th>Zug</th>
<th>Verspätung</th>
</tr>
</thead>
<tbody>
% for my $journey (@{$abo_journeys}) {
% my $detail_link = '/journey/' . $journey->{id};
<tr>
<td><%= $journey->{sched_departure}->strftime('%d.%m.%Y') %></td>
<td><a href="<%= $detail_link %>">
<%= $journey->{type} %> <%= $journey->{line} // $journey->{no} %>
→ <%= $journey->{to_name} %>
% if ($journey->{connection}) {
% $detail_link = '/journey/' . $journey->{connection}{id};
</a><br/><a href="<%= $detail_link %>">
<%= $journey->{connection}{type} %> <%= $journey->{connection}{line} // $journey->{connection}{no} %>
→ <%= $journey->{connection}{to_name} %>
% }
</a></td>
<td>
% if ($journey->{cancelled}) {
% if ($journey->{has_substitute}) {
Ausfall, Ersatzverbindung
%= sprintf('%+d', $journey->{substitute_delay})
% }
% else {
Ausfall ohne Ersatzverbindung
% }
% }
% elsif ($journey->{connection}) {
%= sprintf('%+d, ggf. Anschluss verpasst', $journey->{delay})
% }
% else {
%= sprintf('%+d', $journey->{delay})
% }
</td>
</tr>
% }
</tbody>
</table>
</div>
</div>