diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index 5b8680e6ba29f15159a6290236f46cd1d9062073..c529cb712b1201eef6c049151c397a0f535786d5 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -2201,6 +2201,7 @@ sub startup { $authed_r->post('/delete')->to('account#delete'); $authed_r->post('/logout')->to('account#do_logout'); $authed_r->post('/set_token')->to('api#set_token'); + $authed_r->get('/timeline/in-transit')->to('profile#checked_in'); } diff --git a/lib/Travelynx/Controller/Profile.pm b/lib/Travelynx/Controller/Profile.pm index b8812f89f8a5af32a6050445982280e9bcc46199..03f3b0d5f5250d417751c89edc2eb1d837a7478b 100755 --- a/lib/Travelynx/Controller/Profile.pm +++ b/lib/Travelynx/Controller/Profile.pm @@ -546,4 +546,28 @@ sub status_card { ); } +sub checked_in { + my ($self) = @_; + + my $uid = $self->current_user->{id}; + my @journeys = $self->in_transit->get_timeline( + uid => $uid, + with_data => 1 + ); + + if ( $self->param('ajax') ) { + delete $self->stash->{layout}; + $self->render( + '_timeline-checked-in', + journeys => [@journeys], + ); + } + else { + $self->render( + 'timeline-checked-in', + journeys => [@journeys], + ); + } +} + 1; diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index f283762e56d69c68e66ba89bcd18c62c416d3245..fe9b4f5556cd9607970ff788d43c52c1acd82a51 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -382,7 +382,13 @@ sub compute_effective_visibility { sub homepage { my ($self) = @_; if ( $self->is_user_authenticated ) { - my $status = $self->get_user_status; + my $uid = $self->current_user->{id}; + my $status = $self->get_user_status; + my @timeline = $self->in_transit->get_timeline( + uid => $uid, + short => 1 + ); + $self->stash( timeline => [@timeline] ); my @recent_targets; if ( $status->{checked_in} ) { my $journey_visibility @@ -457,6 +463,12 @@ sub status_card { delete $self->stash->{layout}; + my @timeline = $self->in_transit->get_timeline( + uid => $self->current_user->{id}, + short => 1 + ); + $self->stash( timeline => [@timeline] ); + if ( $status->{checked_in} ) { my $journey_visibility = $self->compute_effective_visibility( diff --git a/templates/_checked_in.html.ep b/templates/_checked_in.html.ep index df5472b430c300cae477619faefbeb73a1f210c4..2382ac4fc11a8ddfcc81dd4b100a1970cb30e1f3 100644 --- a/templates/_checked_in.html.ep +++ b/templates/_checked_in.html.ep @@ -1,4 +1,7 @@ % my $user = current_user(); +% if (@{stash('timeline') // []}) { + %= include '_timeline_link', timeline => stash('timeline') +% }
„<%= $journey->{comment} %>“
% }- % if (not stash('from_profile')) { + % if (not stash('from_profile') and not stash('from_timeline')) {