Loading lib/Travelynx/Controller/Account.pm +14 −4 Original line number Diff line number Diff line Loading @@ -215,15 +215,21 @@ sub privacy { my $public_level = $user->{is_public}; if ( $self->param('action') and $self->param('action') eq 'save' ) { if ( $self->param('public_status') ) { if ( $self->param('status_level') eq 'intern' ) { $public_level |= 0x01; $public_level &= ~0x02; } elsif ( $self->param('status_level') eq 'extern' ) { $public_level |= 0x02; $public_level &= ~0x01; } else { $public_level &= ~0x02; $public_level &= ~0x03; } # public comment with non-public status does not make sense if ( $self->param('public_comment') and $self->param('public_status') ) if ( $self->param('public_comment') and $self->param('status_level') ne 'private' ) { $public_level |= 0x04; } Loading @@ -236,7 +242,11 @@ sub privacy { $self->redirect_to('account'); } else { $self->param( public_status => $public_level & 0x02 ? 1 : 0 ); $self->param( status_level => $public_level & 0x01 ? 'intern' : $public_level & 0x02 ? 'extern' : 'private' ); $self->param( public_comment => $public_level & 0x04 ? 1 : 0 ); $self->render( 'privacy', name => $user->{name} ); } Loading lib/Travelynx/Controller/Traveling.pm +17 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,13 @@ sub user_status { my $ts = $self->stash('ts'); my $user = $self->get_privacy_by_name($name); if ( $user and ( $user->{public_level} & 0x02 ) ) { if ( $user and ( $user->{public_level} & 0x02 or ( $user->{public_level} & 0x01 and $self->is_user_authenticated ) ) ) { my $status = $self->get_user_status( $user->{id} ); my %tw_data = ( Loading Loading @@ -81,6 +87,9 @@ sub user_status { twitter => \%tw_data, ); } elsif ( $user->{public_level} & 0x01 ) { $self->render( 'login', redirect_to => $self->req->url ); } else { $self->render('not_found'); } Loading @@ -94,7 +103,13 @@ sub public_status_card { delete $self->stash->{layout}; if ( $user and ( $user->{public_level} & 0x02 ) ) { if ( $user and ( $user->{public_level} & 0x02 or ( $user->{public_level} & 0x01 and $self->is_user_authenticated ) ) ) { my $status = $self->get_user_status( $user->{id} ); $self->render( '_public_status_card', Loading templates/account.html.ep +5 −2 Original line number Diff line number Diff line Loading @@ -66,10 +66,13 @@ % if ($acc->{is_public} == 0) { <span style="color: #999999;">Keine</span> % } % if ($acc->{is_public} & 0x02) { % if ($acc->{is_public} & 0x01) { Aktueller Status (nur für angemeldete Accounts) % } % elsif ($acc->{is_public} & 0x02) { Aktueller Status % } % if (($acc->{is_public} & 0x06) == 0x06) { % if ($acc->{is_public} & 0x04) { mit Kommentar % } </td> Loading templates/privacy.html.ep +26 −9 Original line number Diff line number Diff line Loading @@ -7,31 +7,48 @@ kennen. </div> </div> <h2>Öffentliche Daten:</h2> %= form_for '/account/privacy' => (method => 'POST') => begin <h2>Aktueller Status</h2> %= csrf_field <div class="row"> <div class="input-field col s12"> <label> %= check_box public_status => 1 <span>Aktueller Status</span> %= radio_button status_level => 'private' <span>Nicht sichtbar</span> </label> </div> </div> <div class="row"> <div class="input-field col s12"> <label> %= radio_button status_level => 'intern' <span>Nur für angemeldete Accounts</span> </label> </div> </div> <div class="row"> <div class="input-field col s12"> <label> %= radio_button status_level => 'extern' <span>Öffentlich</span> </label> </div> </div> <div class="row"> <div class="col s12"> Wenn aktiv, ist dein aktueller Status unter <a href="/status/<%= $name %>">/status/<%= $name %></a> abrufbar. Wenn du eingecheckt bist, werden dort Zug, Start- und Zielstation, Abfahrts- und Ankunftszeit gezeigt; andernfalls lediglich der Zielbahnhof der letzten Reise. Wann die letzte Reise beendet wurde, wird bewusst nicht angegeben. Hier kannst du auswählen, ob dein aktueller Status unter <a href="/status/<%= $name %>">/status/<%= $name %></a> abrufbar ist. Wenn du eingecheckt bist, werden dort Zug, Start- und Zielstation, Abfahrts- und Ankunftszeit gezeigt; andernfalls lediglich der Zielbahnhof der letzten Reise. Wann die letzte Reise beendet wurde, wird bewusst nicht angegeben. </div> </div> <div class="row"> <div class="input-field col s12"> <label> %= check_box public_comment => 1 <span>Checkin-Kommentar</span> <span>Mit Kommentar</span> </label> </div> </div> Loading Loading
lib/Travelynx/Controller/Account.pm +14 −4 Original line number Diff line number Diff line Loading @@ -215,15 +215,21 @@ sub privacy { my $public_level = $user->{is_public}; if ( $self->param('action') and $self->param('action') eq 'save' ) { if ( $self->param('public_status') ) { if ( $self->param('status_level') eq 'intern' ) { $public_level |= 0x01; $public_level &= ~0x02; } elsif ( $self->param('status_level') eq 'extern' ) { $public_level |= 0x02; $public_level &= ~0x01; } else { $public_level &= ~0x02; $public_level &= ~0x03; } # public comment with non-public status does not make sense if ( $self->param('public_comment') and $self->param('public_status') ) if ( $self->param('public_comment') and $self->param('status_level') ne 'private' ) { $public_level |= 0x04; } Loading @@ -236,7 +242,11 @@ sub privacy { $self->redirect_to('account'); } else { $self->param( public_status => $public_level & 0x02 ? 1 : 0 ); $self->param( status_level => $public_level & 0x01 ? 'intern' : $public_level & 0x02 ? 'extern' : 'private' ); $self->param( public_comment => $public_level & 0x04 ? 1 : 0 ); $self->render( 'privacy', name => $user->{name} ); } Loading
lib/Travelynx/Controller/Traveling.pm +17 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,13 @@ sub user_status { my $ts = $self->stash('ts'); my $user = $self->get_privacy_by_name($name); if ( $user and ( $user->{public_level} & 0x02 ) ) { if ( $user and ( $user->{public_level} & 0x02 or ( $user->{public_level} & 0x01 and $self->is_user_authenticated ) ) ) { my $status = $self->get_user_status( $user->{id} ); my %tw_data = ( Loading Loading @@ -81,6 +87,9 @@ sub user_status { twitter => \%tw_data, ); } elsif ( $user->{public_level} & 0x01 ) { $self->render( 'login', redirect_to => $self->req->url ); } else { $self->render('not_found'); } Loading @@ -94,7 +103,13 @@ sub public_status_card { delete $self->stash->{layout}; if ( $user and ( $user->{public_level} & 0x02 ) ) { if ( $user and ( $user->{public_level} & 0x02 or ( $user->{public_level} & 0x01 and $self->is_user_authenticated ) ) ) { my $status = $self->get_user_status( $user->{id} ); $self->render( '_public_status_card', Loading
templates/account.html.ep +5 −2 Original line number Diff line number Diff line Loading @@ -66,10 +66,13 @@ % if ($acc->{is_public} == 0) { <span style="color: #999999;">Keine</span> % } % if ($acc->{is_public} & 0x02) { % if ($acc->{is_public} & 0x01) { Aktueller Status (nur für angemeldete Accounts) % } % elsif ($acc->{is_public} & 0x02) { Aktueller Status % } % if (($acc->{is_public} & 0x06) == 0x06) { % if ($acc->{is_public} & 0x04) { mit Kommentar % } </td> Loading
templates/privacy.html.ep +26 −9 Original line number Diff line number Diff line Loading @@ -7,31 +7,48 @@ kennen. </div> </div> <h2>Öffentliche Daten:</h2> %= form_for '/account/privacy' => (method => 'POST') => begin <h2>Aktueller Status</h2> %= csrf_field <div class="row"> <div class="input-field col s12"> <label> %= check_box public_status => 1 <span>Aktueller Status</span> %= radio_button status_level => 'private' <span>Nicht sichtbar</span> </label> </div> </div> <div class="row"> <div class="input-field col s12"> <label> %= radio_button status_level => 'intern' <span>Nur für angemeldete Accounts</span> </label> </div> </div> <div class="row"> <div class="input-field col s12"> <label> %= radio_button status_level => 'extern' <span>Öffentlich</span> </label> </div> </div> <div class="row"> <div class="col s12"> Wenn aktiv, ist dein aktueller Status unter <a href="/status/<%= $name %>">/status/<%= $name %></a> abrufbar. Wenn du eingecheckt bist, werden dort Zug, Start- und Zielstation, Abfahrts- und Ankunftszeit gezeigt; andernfalls lediglich der Zielbahnhof der letzten Reise. Wann die letzte Reise beendet wurde, wird bewusst nicht angegeben. Hier kannst du auswählen, ob dein aktueller Status unter <a href="/status/<%= $name %>">/status/<%= $name %></a> abrufbar ist. Wenn du eingecheckt bist, werden dort Zug, Start- und Zielstation, Abfahrts- und Ankunftszeit gezeigt; andernfalls lediglich der Zielbahnhof der letzten Reise. Wann die letzte Reise beendet wurde, wird bewusst nicht angegeben. </div> </div> <div class="row"> <div class="input-field col s12"> <label> %= check_box public_comment => 1 <span>Checkin-Kommentar</span> <span>Mit Kommentar</span> </label> </div> </div> Loading