diff options
| -rw-r--r-- | lib/Travelynx/Controller/Account.pm | 13 | ||||
| -rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 12 | ||||
| -rw-r--r-- | templates/_checked_in.html.ep | 2 | ||||
| -rw-r--r-- | templates/_public_status_card.html.ep | 3 | ||||
| -rw-r--r-- | templates/account.html.ep | 3 | ||||
| -rw-r--r-- | templates/privacy.html.ep | 16 | ||||
| -rw-r--r-- | templates/user_status.html.ep | 2 | 
7 files changed, 41 insertions, 10 deletions
| diff --git a/lib/Travelynx/Controller/Account.pm b/lib/Travelynx/Controller/Account.pm index 0275b96..cebe21a 100644 --- a/lib/Travelynx/Controller/Account.pm +++ b/lib/Travelynx/Controller/Account.pm @@ -65,7 +65,7 @@ sub register {  	my $password2 = $self->req->param('password2');  	my $ip        = $self->req->headers->header('X-Forwarded-For');  	my $ua        = $self->req->headers->user_agent; -	my $date = DateTime->now( time_zone => 'Europe/Berlin' ) +	my $date      = DateTime->now( time_zone => 'Europe/Berlin' )  	  ->strftime('%d.%m.%Y %H:%M:%S %z');  	# In case Mojolicious is not running behind a reverse proxy @@ -221,13 +221,20 @@ sub privacy {  		else {  			$public_level &= ~0x02;  		} +		if ( $self->param('public_comment') ) { +			$public_level |= 0x04; +		} +		else { +			$public_level &= ~0x04; +		}  		$self->set_privacy( $user->{id}, $public_level );  		$self->flash( success => 'privacy' );  		$self->redirect_to('account');  	}  	else { -		$self->param( public_status => $public_level & 0x02 ? 1 : 0 ); +		$self->param( public_status  => $public_level & 0x02 ? 1 : 0 ); +		$self->param( public_comment => $public_level & 0x04 ? 1 : 0 );  		$self->render( 'privacy', name => $user->{name} );  	}  } @@ -640,7 +647,7 @@ sub json_export {  	$self->render(  		json => { -			account    => $db->select( 'users', '*', { id => $uid } )->hash, +			account => $db->select( 'users', '*', { id => $uid } )->hash,  			in_transit => [  				$db->select( 'in_transit_str', '*', { user_id => $uid } )  				  ->hashes->each diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index f41d8df..3f8f37e 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -75,9 +75,10 @@ sub user_status {  		$self->render(  			'user_status', -			name    => $name, -			journey => $status, -			twitter => \%tw_data, +			name         => $name, +			public_level => $user->{public_level}, +			journey      => $status, +			twitter      => \%tw_data,  		);  	}  	else { @@ -97,8 +98,9 @@ sub public_status_card {  		my $status = $self->get_user_status( $user->{id} );  		$self->render(  			'_public_status_card', -			name    => $name, -			journey => $status +			name         => $name, +			public_level => $user->{public_level}, +			journey      => $status  		);  	}  	else { diff --git a/templates/_checked_in.html.ep b/templates/_checked_in.html.ep index 5631e12..f915769 100644 --- a/templates/_checked_in.html.ep +++ b/templates/_checked_in.html.ep @@ -4,7 +4,7 @@  			<i class="material-icons small right sync-failed-marker grey-text" style="display: none;">sync_problem</i>  			<span class="card-title">Eingecheckt in <%= $journey->{train_type} %> <%= $journey->{train_no} %></span>  			% if ($journey->{comment}) { -				<p><%= $journey->{comment} %>.</p> +				<p><%= $journey->{comment} %></p>  			% }  			<p>  				<div class="center-align countdown" diff --git a/templates/_public_status_card.html.ep b/templates/_public_status_card.html.ep index 0bed878..4a846af 100644 --- a/templates/_public_status_card.html.ep +++ b/templates/_public_status_card.html.ep @@ -3,6 +3,9 @@  		<div class="card-content">  			<i class="material-icons small right sync-failed-marker grey-text" style="display: none;">sync_problem</i>  			<span class="card-title"><%= $name %> ist unterwegs</span> +			% if ($public_level & 0x04 and $journey->{comment}) { +				<p>„<%= $journey->{comment} %>“</p> +			% }  			<p>  				% if ($journey->{train_line}) {  					<div class="center-align"><b><%= $journey->{train_type} %> <%= $journey->{train_line} %></b> <%= $journey->{train_no} %></div> diff --git a/templates/account.html.ep b/templates/account.html.ep index 627be85..7ad48b5 100644 --- a/templates/account.html.ep +++ b/templates/account.html.ep @@ -69,6 +69,9 @@  					% if ($acc->{is_public} & 0x02) {  						Aktueller Status  					% } +					% if (($acc->{is_public} & 0x06) == 0x06) { +						mit Kommentar +					% }  				</td>  			</tr>  			<tr> diff --git a/templates/privacy.html.ep b/templates/privacy.html.ep index 4469154..b16ee44 100644 --- a/templates/privacy.html.ep +++ b/templates/privacy.html.ep @@ -28,6 +28,22 @@  		</div>  	</div>  	<div class="row"> +		<div class="input-field col s12"> +			<label> +				%= check_box public_comment => 1 +				<span>Checkin-Kommentar</span> +			</label> +		</div> +	</div> +	<div class="row"> +		<div class="col s12"> +			Wenn aktiv, wird in deinem aktuellen Status auch der optionale +			Freitext-Kommentar der Zugfahrt gezeigt. Wenn du gerade nicht +			eingecheckt bist oder dein aktueller Status nicht öffentlich ist, +			hat dieses Feld keine Auswirkungen. +		</div> +	</div> +	<div class="row">  		<div class="col s3 m3 l3">  		</div>  		<div class="col s6 m6 l6 center-align"> diff --git a/templates/user_status.html.ep b/templates/user_status.html.ep index 2a6be03..78ef547 100644 --- a/templates/user_status.html.ep +++ b/templates/user_status.html.ep @@ -1,5 +1,5 @@  <div class="row">  	<div class="col s12 publicstatuscol" data-user="<%= $name %>"> -		%= include '_public_status_card', name => $name, journey => $journey +		%= include '_public_status_card', name => $name, public_level => $public_level, journey => $journey  	</div>  </div> | 
