diff options
| -rwxr-xr-x | lib/Travelynx.pm | 2 | ||||
| -rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 13 | ||||
| -rw-r--r-- | templates/_checked_in.html.ep | 2 | 
3 files changed, 14 insertions, 3 deletions
| diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index 209a471..19d6edf 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -2177,7 +2177,9 @@ sub startup {  	$r->get('/register')->to('account#registration_form');  	$r->get('/reg/:id/:token')->to('account#verify');  	$r->get('/status/:name')->to('traveling#user_status'); +	$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->post('/action')->to('traveling#log_action');  	$r->post('/geolocation')->to('traveling#geolocation');  	$r->post('/list_departures')->to('traveling#redirect_to_station'); diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index de79728..59991a8 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -29,6 +29,7 @@ sub user_status {  	my ($self) = @_;  	my $name = $self->stash('name'); +	my $ts   = $self->stash('ts');  	my $user = $self->get_privacy_by_name($name);  	if ( $user and ( $user->{public_level} & 0x02 ) ) { @@ -41,7 +42,16 @@ sub user_status {  			  ->to_abs->scheme('https'),  		); -		if ( $status->{checked_in} ) { +		if ( +			$ts +			and ( not $status->{checked_in} +				or $status->{sched_departure}->epoch != $ts ) +		  ) +		{ +			$tw_data{title}       = "Bahnfahrt beendet"; +			$tw_data{description} = "${name} hat das Ziel erreicht"; +		} +		elsif ( $status->{checked_in} ) {  			$tw_data{title}       = "${name} ist unterwegs";  			$tw_data{description} = sprintf(  				'%s %s von %s nach %s', @@ -53,7 +63,6 @@ sub user_status {  			if ( $status->{real_arrival}->epoch ) {  				$tw_data{description} .= $status->{real_arrival}  				  ->strftime(' – Ankunft gegen %H:%M Uhr'); -  			}  		}  		else { diff --git a/templates/_checked_in.html.ep b/templates/_checked_in.html.ep index efe1eff..0683ae5 100644 --- a/templates/_checked_in.html.ep +++ b/templates/_checked_in.html.ep @@ -134,7 +134,7 @@  			<a class="action-share blue-text right"  				data-text="Ich bin gerade <%= $attrib %> <%= $journey->{train_type} %> <%= $journey->{train_no} %> nach <%= $journey->{arr_name} %> #NowTräwelling #dbl"  				% if (current_user()->{is_public} & 0x02) { -					data-url="<%= url_for('/status')->to_abs->scheme('https') %>/<%= current_user->{name} %>" +					data-url="<%= url_for('/status')->to_abs->scheme('https') %>/<%= current_user->{name} %>/<%= $journey->{sched_departure}->epoch %>"  				% }  				>  				<i class="material-icons left">share</i> Teilen | 
