% if (param('cancelled')) { <h1>Ausgefallene Fahrten</h1> <div class="row"> <div class="col s12"> <ul> <li><a href="/history.json?cancelled=1">JSON-Export</a> (Das Datenlayout ist noch nicht final)</li> <li><a href="/history">Reguläre Zugfahrten</a></li> </ul> </div> </div> % } % else { <h1>Bisherige Fahrten</h1> <div class="row"> <div class="col s12"> <ul> <li><a href="/history.json">JSON-Export</a> (Das Datenlayout ist noch nicht final)</li> <li><a href="/history?cancelled=1">Ausgefallene Züge</a></li> </ul> </div> </div> % } <div class="row"> <div class="col s12"> <table class="striped"> <thead> <tr> <th>Datum</th> <th>Zug</th> <th>Strecke</th> <th>Abfahrt</th> <th>Ankunft</th> </tr> </thead> <tbody> % for my $travel (get_user_travels(cancelled => (param('cancelled') ? 1 : 0))) { % if ($travel->{completed}) { % my $detail_link = '/journey/' . current_user()->{id} . '-' . $travel->{checkin}->epoch . '-' . $travel->{checkout}->epoch; <tr> <td><%= $travel->{sched_departure}->strftime('%d.%m.%Y') %></td> <td><a href="<%= $detail_link %>"><%= $travel->{type} %> <%= $travel->{line} // '' %> <%= $travel->{no} %></a></td> <td><a href="<%= $detail_link %>"><%= $travel->{from_name} %> → <%= $travel->{to_name} %></a></td> <td> % if (param('cancelled')) { %= $travel->{sched_departure}->strftime('%H:%M') % } % else { <%= $travel->{rt_departure}->strftime('%H:%M') %> % if ($travel->{sched_departure} != $travel->{rt_departure}) { (<%= sprintf('%+d', ($travel->{rt_departure}->epoch - $travel->{sched_departure}->epoch) / 60) %>) % } % } </td> <td> % if (param('cancelled') and $travel->{sched_arrival}->epoch != 0) { %= $travel->{sched_arrival}->strftime('%H:%M') % } % else { % if ($travel->{rt_arrival}->epoch == 0 and $travel->{sched_arrival}->epoch == 0) { <i class="material-icons">timer_off</i> % } else { %= $travel->{rt_arrival}->strftime('%H:%M'); % if ($travel->{sched_arrival} != $travel->{rt_arrival}) { (<%= sprintf('%+d', ($travel->{rt_arrival}->epoch - $travel->{sched_arrival}->epoch) / 60) %>) % } % } % } </td> </tr> % } % } </tbody> </table> </div> </div>