diff options
author | Daniel Friesel <derf@finalrewind.org> | 2023-03-04 13:22:13 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2023-03-04 13:22:13 +0100 |
commit | 5461326f01f6b043f2dd0470788e03fd68790e5e (patch) | |
tree | 8220720764155702c70d22803812a2f609c7c059 | |
parent | 67dc1c203a83305612fc0118a47fca1ee8c8e422 (diff) |
always show /p/user if /status/user exists; only limit past journeys
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 68 | ||||
-rw-r--r-- | templates/privacy.html.ep | 13 |
2 files changed, 43 insertions, 38 deletions
diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index a3274aa..1580bb6 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -638,10 +638,7 @@ sub public_profile { my $name = $self->stash('name'); my $user = $self->users->get_privacy_by_name( name => $name ); - if ( not $user - or $user->{past_visible} == 0 - or ( $user->{past_visible} == 1 and not $self->is_user_authenticated ) ) - { + if ( not $user ) { $self->render('not_found'); return; } @@ -677,38 +674,45 @@ sub public_profile { $status->{arr_name} = undef; } - my %opt = ( - uid => $user->{id}, - limit => 10, - with_datetime => 1 - ); - - if ( not $user->{past_all} ) { - my $now = DateTime->now( time_zone => 'Europe/Berlin' ); - $opt{before} = DateTime->now( time_zone => 'Europe/Berlin' ); - $opt{after} = $now->clone->subtract( weeks => 4 ); - } + my @journeys; - if ( - $user->{default_visibility_str} eq 'public' - or ( $user->{default_visibility_str} eq 'travelynx' - and $self->is_user_authenticated ) - ) + if ( $user->{past_visible} == 2 + or ( $user->{past_visible} == 1 and $self->is_user_authenticated ) ) { - $opt{with_default_visibility} = 1; - } - else { - $opt{with_default_visibility} = 0; - } - if ( $self->is_user_authenticated ) { - $opt{min_visibility} = 'travelynx'; - } - else { - $opt{min_visibility} = 'public'; - } + my %opt = ( + uid => $user->{id}, + limit => 10, + with_datetime => 1 + ); + + if ( not $user->{past_all} ) { + my $now = DateTime->now( time_zone => 'Europe/Berlin' ); + $opt{before} = DateTime->now( time_zone => 'Europe/Berlin' ); + $opt{after} = $now->clone->subtract( weeks => 4 ); + } - my @journeys = $self->journeys->get(%opt); + if ( + $user->{default_visibility_str} eq 'public' + or ( $user->{default_visibility_str} eq 'travelynx' + and $self->is_user_authenticated ) + ) + { + $opt{with_default_visibility} = 1; + } + else { + $opt{with_default_visibility} = 0; + } + + if ( $self->is_user_authenticated ) { + $opt{min_visibility} = 'travelynx'; + } + else { + $opt{min_visibility} = 'public'; + } + + @journeys = $self->journeys->get(%opt); + } $self->render( 'profile', diff --git a/templates/privacy.html.ep b/templates/privacy.html.ep index 9222591..57e3890 100644 --- a/templates/privacy.html.ep +++ b/templates/privacy.html.ep @@ -69,7 +69,7 @@ <div> <label> %= check_box past_status => 1 - <span>Wenn nicht eingecheckt: letztes Fahrtziel unter <a href="/status/<%= $name %>">/status/<%= $name %></a> zeigen, sofern die zugehörige Reise für die aufrufende Person sichtbar ist. Caveat: Die derzeitige Implementierung dieses Features gibt preis, ob deine letzte Fahrt öffentlich / lokal sichtbar war (→ Ziel angegeben) oder nicht (→ kein Ziel angegeben).</span> + <span>Wenn nicht eingecheckt: letztes Fahrtziel anzeigen, sofern die zugehörige Reise für die aufrufende Person sichtbar ist. Caveat: Die derzeitige Implementierung dieses Features gibt preis, ob deine letzte Fahrt öffentlich / lokal sichtbar war (→ Ziel angegeben) oder nicht (→ kein Ziel angegeben).</span> </label> </div> </div> @@ -106,11 +106,12 @@ </div> <div class="row"> <div class="col s12"> - Diese Einstellung bestimmt die Sichtbarkeit deines Profils unter <a - href="/p/<%= $name %>">/p/<%= $name %></a>. Bis zu zehn Fahrten, die - über die Standardeinstellung (siehe oben) oder per individueller - Einstellung für die aufrufende Person sichtbar sind, werden hier - verlinkt. + Diese Einstellung bestimmt die Sichtbarkeit vergangener Zugfahrten + unter <a href="/p/<%= $name %>">/p/<%= $name %></a>. Vergangene + Fahrten, die über die Standardeinstellung (siehe oben) oder per + individueller Einstellung für die aufrufende Person sichtbar sind, + werden hier verlinkt. Derzeit werden nur die letzten zehn Fahrten + angezeigt; dies kann sich in Zukunft ändern. </div> </div> <h2>Vergangenheit</h2> |