diff options
| author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-04-16 20:27:58 +0200 | 
|---|---|---|
| committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-04-16 20:27:58 +0200 | 
| commit | e605ed389de964e6fc0f494f732b607a5ff6bdc6 (patch) | |
| tree | a3c4a249c7dfec0ae6e77b4392174b3f9e36142a /lib/Travelynx/Model | |
| parent | 39d0fd00cf1a5b5c83d2c9439e5fd481587ba3dd (diff) | |
Show DBRIS messages (disruptions and infos) in checked_in view2.11.18
Diffstat (limited to 'lib/Travelynx/Model')
| -rw-r--r-- | lib/Travelynx/Model/InTransit.pm | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm index 1028d59..e8495b8 100644 --- a/lib/Travelynx/Model/InTransit.pm +++ b/lib/Travelynx/Model/InTransit.pm @@ -809,6 +809,24 @@ sub update_departure_dbris {  	my $stop    = $opt{stop};  	my $json    = JSON->new; +	my $res_h = $db->select( 'in_transit', ['data'], { user_id => $uid } ) +	  ->expand->hash; +	my $data = $res_h ? $res_h->{data} : {}; + +	$data->{him_msg} = []; +	for my $msg ( $journey->messages ) { +		if ( not $msg->{ueberschrift} ) { +			push( +				@{ $data->{him_msg} }, +				{ +					header => q{}, +					prio   => $msg->{prioritaet}, +					lead   => $msg->{text} +				} +			); +		} +	} +  	# selecting on user_id and train_no avoids a race condition if a user checks  	# into a new train while we are fetching data for their previous journey. In  	# this case, the new train would receive data from the previous journey. @@ -816,6 +834,7 @@ sub update_departure_dbris {  		'in_transit',  		{  			real_departure => $stop->{rt_dep}, +			data           => $json->encode($data),  		},  		{  			user_id             => $uid, @@ -905,6 +924,24 @@ sub update_arrival_dbris {  	my $stop    = $opt{stop};  	my $json    = JSON->new; +	my $res_h = $db->select( 'in_transit', ['data'], { user_id => $uid } ) +	  ->expand->hash; +	my $data = $res_h ? $res_h->{data} : {}; + +	$data->{him_msg} = []; +	for my $msg ( $journey->messages ) { +		if ( not $msg->{ueberschrift} ) { +			push( +				@{ $data->{him_msg} }, +				{ +					header => q{}, +					prio   => $msg->{prioritaet}, +					lead   => $msg->{text} +				} +			); +		} +	} +  	my @route;  	for my $j_stop ( $journey->route ) {  		push( @@ -939,6 +976,7 @@ sub update_arrival_dbris {  		{  			real_arrival => $stop->{rt_arr},  			route        => $json->encode( [@route] ), +			data         => $json->encode($data),  		},  		{  			user_id             => $uid, | 
