From b0bb69d87ed0d807946474ec66f4f07935a2b147 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sun, 16 Jul 2023 10:30:47 +0200 Subject: show followee checkins in departure board --- lib/Travelynx/Controller/Traveling.pm | 12 ++++++++++++ lib/Travelynx/Model/InTransit.pm | 2 +- templates/_departures_iris.html.ep | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index c69d517..fc59b68 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -799,6 +799,18 @@ sub station { my ($self) = @_; my $station = $self->stash('station'); my $train = $self->param('train'); + my $uid = $self->current_user->{id}; + + my @timeline = $self->in_transit->get_timeline( + uid => $uid, + short => 1 + ); + my %checkin_by_train; + for my $checkin (@timeline) { + say $checkin->{train_id}; + push( @{ $checkin_by_train{ $checkin->{train_id} } }, $checkin ); + } + $self->stash( checkin_by_train => \%checkin_by_train ); $self->render_later; diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm index 0fb8e1d..26f689f 100644 --- a/lib/Travelynx/Model/InTransit.pm +++ b/lib/Travelynx/Model/InTransit.pm @@ -316,7 +316,7 @@ sub get_timeline { return $db->select( 'follows_in_transit', [ - qw(followee_name train_type train_line train_no dep_eva dep_name arr_eva arr_name) + qw(followee_name train_type train_line train_no train_id dep_eva dep_name arr_eva arr_name) ], $where )->hashes->each; diff --git a/templates/_departures_iris.html.ep b/templates/_departures_iris.html.ep index b24c3f1..45b4e46 100644 --- a/templates/_departures_iris.html.ep +++ b/templates/_departures_iris.html.ep @@ -31,6 +31,9 @@ <%= $result->destination %> + % for my $checkin (@{$checkin_by_train->{$result->train_id} // []}) { +
(<%= $checkin->{followee_name} %> → <%= $checkin->{arr_name} // '???' %>) + % } % if ($result->departure_hidden) { -- cgit v1.2.3