From 3ae14d47f91f36bacdfe604414f1186f375ac8a0 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sat, 9 Mar 2019 14:35:23 +0100 Subject: add JSON export for history --- index.pl | 11 ++++++- templates/history.html.ep | 79 ++++++++++++++++++++++++++--------------------- 2 files changed, 54 insertions(+), 36 deletions(-) diff --git a/index.pl b/index.pl index fc629ee..7881253 100755 --- a/index.pl +++ b/index.pl @@ -1184,7 +1184,16 @@ get '/account' => sub { get '/history' => sub { my ($self) = @_; - $self->render('history'); + $self->respond_to( + json => { json => [ $self->get_user_travels(0) ] }, + any => { template => 'history' } + ); +}; + +get '/history.json' => sub { + my ($self) = @_; + + $self->render( json => [ $self->get_user_travels(0) ] ); }; get '/export.json' => sub { diff --git a/templates/history.html.ep b/templates/history.html.ep index 25e826f..cf81765 100644 --- a/templates/history.html.ep +++ b/templates/history.html.ep @@ -1,40 +1,49 @@

Bisherige Fahrten

- - - - - - - - - - - - % for my $travel (get_user_travels(0)) { - % if ($travel->{completed}) { - - - - - - +
DatumZugStreckeAbfahrtAnkunft
<%= $travel->{sched_departure}->strftime('%d.%m.%Y') %><%= $travel->{type} %> <%= $travel->{line} // '' %> <%= $travel->{no} %><%= $travel->{from_name} %> → <%= $travel->{to_name} %><%= $travel->{rt_departure}->strftime('%H:%M') %> - % if ($travel->{sched_departure} != $travel->{rt_departure}) { - (+<%= ($travel->{rt_departure}->epoch - $travel->{sched_departure}->epoch) / 60 %>) - % } - - % if ($travel->{rt_arrival}->epoch == 0 and $travel->{sched_arrival}->epoch == 0) { - timer_off - % } else { - %= $travel->{rt_arrival}->strftime('%H:%M'); - % if ($travel->{sched_arrival} != $travel->{rt_arrival}) { - (+<%= ($travel->{rt_arrival}->epoch - $travel->{sched_arrival}->epoch) / 60 %>) +
+
    +
  • JSON-Export (Das Datenlayout ist noch nicht final)
  • +
+
+ +
+
+ + + + + + + + + + + + % for my $travel (get_user_travels(0)) { + % if ($travel->{completed}) { + + + + + + - + + + % } % } - % } - -
DatumZugStreckeAbfahrtAnkunft
<%= $travel->{sched_departure}->strftime('%d.%m.%Y') %><%= $travel->{type} %> <%= $travel->{line} // '' %> <%= $travel->{no} %><%= $travel->{from_name} %> → <%= $travel->{to_name} %><%= $travel->{rt_departure}->strftime('%H:%M') %> + % if ($travel->{sched_departure} != $travel->{rt_departure}) { + (+<%= ($travel->{rt_departure}->epoch - $travel->{sched_departure}->epoch) / 60 %>) + % } + + % if ($travel->{rt_arrival}->epoch == 0 and $travel->{sched_arrival}->epoch == 0) { + timer_off + % } else { + %= $travel->{rt_arrival}->strftime('%H:%M'); + % if ($travel->{sched_arrival} != $travel->{rt_arrival}) { + (+<%= ($travel->{rt_arrival}->epoch - $travel->{sched_arrival}->epoch) / 60 %>) + % } % } - % } -
+
+
-- cgit v1.2.3