Loading lib/Travelynx.pm +2 −0 Original line number Diff line number Diff line Loading @@ -2685,6 +2685,8 @@ sub startup { $r->get('/status/:name/:ts')->to('traveling#user_status'); $r->get('/ajax/status/:name')->to('traveling#public_status_card'); $r->get('/ajax/status/:name/:ts')->to('traveling#public_status_card'); $r->get('/p/:name')->to('traveling#public_profile'); $r->get('/p/:name/j/:id')->to('traveling#public_journey_details'); $r->post('/api/v1/import')->to('api#import_v1'); $r->post('/api/v1/travel')->to('api#travel_v1'); $r->post('/action')->to('traveling#log_action'); Loading lib/Travelynx/Controller/Traveling.pm +88 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,94 @@ sub user_status { } } sub public_profile { my ($self) = @_; my $name = $self->stash('name'); my $user = $self->users->get_privacy_by_name( name => $name ); if ( $user and ( $user->{public_level} & 0x22 or ( $user->{public_level} & 0x11 and $self->is_user_authenticated ) ) ) { my $status = $self->get_user_status( $user->{id} ); $self->render( 'profile', name => $name, uid => $user->{id}, public_level => $user->{public_level}, journey => $status, version => $self->app->config->{version} // 'UNKNOWN', ); } else { $self->render('not_found'); } } sub public_journey_details { my ($self) = @_; my $name = $self->stash('name'); my $journey_id = $self->stash('id'); my $user = $self->users->get_privacy_by_name( name => $name ); $self->param( journey_id => $journey_id ); if ( not( $journey_id and $journey_id =~ m{ ^ \d+ $ }x ) ) { $self->render( 'journey', status => 404, error => 'notfound', journey => {} ); return; } if ( $user and ( $user->{public_level} & 0x20 or ( $user->{public_level} & 0x10 and $self->is_user_authenticated ) ) ) { my $journey = $self->journeys->get_single( uid => $user->{id}, journey_id => $journey_id, verbose => 1, with_datetime => 1, with_polyline => 1, ); if ($journey) { my $map_data = $self->journeys_to_map_data( journeys => [$journey], include_manual => 1, ); if ( $journey->{user_data}{comment} ) { delete $journey->{user_data}{comment}; } $self->render( 'journey', error => undef, journey => $journey, with_map => 1, username => $name, readonly => 1, %{$map_data}, ); } else { $self->render( 'not_found', ); } } else { $self->render('not_found'); } } sub public_status_card { my ($self) = @_; Loading templates/_history_trains.html.ep +3 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,9 @@ <tbody> % for my $travel (@{$journeys}) { % my $detail_link = '/journey/' . $travel->{id}; % if (my $prefix = stash('link_prefix')) { % $detail_link = $prefix . $travel->{id}; % } <tr> <td><%= $travel->{sched_departure}->strftime($date_format) %></td> <td><a href="<%= $detail_link %>"><%= $travel->{type} %> <%= $travel->{line} // $travel->{no} %></a></td> Loading templates/account.html.ep +3 −3 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ <span style="color: #999999;">Keine</span> % } % if ($acc->{is_public} & 0x01) { Aktueller Status (nur für angemeldete Accounts) Aktueller Status (nur mit Anmeldung) % } % elsif ($acc->{is_public} & 0x02) { Aktueller Status Loading @@ -79,10 +79,10 @@ <br/> % } % if ($acc->{is_public} & 0x10) { Letzte zehn Fahrten (nur für angemeldete Accounts) Vergangene Fahrten (nur mit Anmeldung) % } % elsif ($acc->{is_public} & 0x20) { Letzte zehn Fahrten Vergangene Fahrten % } </td> </tr> Loading templates/journey.html.ep +3 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,9 @@ <div class="row"> <div class="col s12"> <p> % if (my $name = stash('username')) { <b><a href="/p/<%= $name %>"><%= $name %></a></b>s % } % if ($journey->{cancelled}) { Ausgefallene Fahrt % } Loading Loading
lib/Travelynx.pm +2 −0 Original line number Diff line number Diff line Loading @@ -2685,6 +2685,8 @@ sub startup { $r->get('/status/:name/:ts')->to('traveling#user_status'); $r->get('/ajax/status/:name')->to('traveling#public_status_card'); $r->get('/ajax/status/:name/:ts')->to('traveling#public_status_card'); $r->get('/p/:name')->to('traveling#public_profile'); $r->get('/p/:name/j/:id')->to('traveling#public_journey_details'); $r->post('/api/v1/import')->to('api#import_v1'); $r->post('/api/v1/travel')->to('api#travel_v1'); $r->post('/action')->to('traveling#log_action'); Loading
lib/Travelynx/Controller/Traveling.pm +88 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,94 @@ sub user_status { } } sub public_profile { my ($self) = @_; my $name = $self->stash('name'); my $user = $self->users->get_privacy_by_name( name => $name ); if ( $user and ( $user->{public_level} & 0x22 or ( $user->{public_level} & 0x11 and $self->is_user_authenticated ) ) ) { my $status = $self->get_user_status( $user->{id} ); $self->render( 'profile', name => $name, uid => $user->{id}, public_level => $user->{public_level}, journey => $status, version => $self->app->config->{version} // 'UNKNOWN', ); } else { $self->render('not_found'); } } sub public_journey_details { my ($self) = @_; my $name = $self->stash('name'); my $journey_id = $self->stash('id'); my $user = $self->users->get_privacy_by_name( name => $name ); $self->param( journey_id => $journey_id ); if ( not( $journey_id and $journey_id =~ m{ ^ \d+ $ }x ) ) { $self->render( 'journey', status => 404, error => 'notfound', journey => {} ); return; } if ( $user and ( $user->{public_level} & 0x20 or ( $user->{public_level} & 0x10 and $self->is_user_authenticated ) ) ) { my $journey = $self->journeys->get_single( uid => $user->{id}, journey_id => $journey_id, verbose => 1, with_datetime => 1, with_polyline => 1, ); if ($journey) { my $map_data = $self->journeys_to_map_data( journeys => [$journey], include_manual => 1, ); if ( $journey->{user_data}{comment} ) { delete $journey->{user_data}{comment}; } $self->render( 'journey', error => undef, journey => $journey, with_map => 1, username => $name, readonly => 1, %{$map_data}, ); } else { $self->render( 'not_found', ); } } else { $self->render('not_found'); } } sub public_status_card { my ($self) = @_; Loading
templates/_history_trains.html.ep +3 −0 Original line number Diff line number Diff line Loading @@ -12,6 +12,9 @@ <tbody> % for my $travel (@{$journeys}) { % my $detail_link = '/journey/' . $travel->{id}; % if (my $prefix = stash('link_prefix')) { % $detail_link = $prefix . $travel->{id}; % } <tr> <td><%= $travel->{sched_departure}->strftime($date_format) %></td> <td><a href="<%= $detail_link %>"><%= $travel->{type} %> <%= $travel->{line} // $travel->{no} %></a></td> Loading
templates/account.html.ep +3 −3 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ <span style="color: #999999;">Keine</span> % } % if ($acc->{is_public} & 0x01) { Aktueller Status (nur für angemeldete Accounts) Aktueller Status (nur mit Anmeldung) % } % elsif ($acc->{is_public} & 0x02) { Aktueller Status Loading @@ -79,10 +79,10 @@ <br/> % } % if ($acc->{is_public} & 0x10) { Letzte zehn Fahrten (nur für angemeldete Accounts) Vergangene Fahrten (nur mit Anmeldung) % } % elsif ($acc->{is_public} & 0x20) { Letzte zehn Fahrten Vergangene Fahrten % } </td> </tr> Loading
templates/journey.html.ep +3 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,9 @@ <div class="row"> <div class="col s12"> <p> % if (my $name = stash('username')) { <b><a href="/p/<%= $name %>"><%= $name %></a></b>s % } % if ($journey->{cancelled}) { Ausgefallene Fahrt % } Loading