Loading lib/Travelynx/Model/InTransit.pm +41 −12 Original line number Diff line number Diff line Loading @@ -101,6 +101,7 @@ sub add { my $checkin_station_id = $opt{departure_eva}; my $route = $opt{route}; my $data = $opt{data}; my $persistent_data; my $json = JSON->new; Loading Loading @@ -242,6 +243,13 @@ sub add { lead => $msg->{text} } ); push( @{ $persistent_data->{him_msg} }, { prio => $msg->{prioritaet}, lead => $msg->{text} } ); } } $db->insert( Loading @@ -267,6 +275,7 @@ sub add { %{ $data // {} } } ), user_data => JSON->new->encode($persistent_data), backend_id => $backend_id, } ); Loading Loading @@ -824,21 +833,30 @@ 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} : {}; my $res_h = $db->select( 'in_transit', [ 'data', 'user_data' ], { user_id => $uid } )->expand->hash; my $ephemeral_data = $res_h ? $res_h->{data} : {}; my $persistent_data = $res_h ? $res_h->{user_data} : {}; $data->{him_msg} = []; $ephemeral_data->{him_msg} = []; $persistent_data->{him_msg} = []; for my $msg ( $journey->messages ) { if ( not $msg->{ueberschrift} ) { push( @{ $data->{him_msg} }, @{ $ephemeral_data->{him_msg} }, { header => q{}, prio => $msg->{prioritaet}, lead => $msg->{text} } ); push( @{ $persistent_data->{him_msg} }, { prio => $msg->{prioritaet}, lead => $msg->{text} } ); } } Loading @@ -849,7 +867,8 @@ sub update_departure_dbris { 'in_transit', { real_departure => $stop->{rt_dep}, data => $json->encode($data), data => $json->encode($ephemeral_data), user_data => $json->encode($persistent_data), }, { user_id => $uid, Loading Loading @@ -939,21 +958,30 @@ 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} : {}; my $res_h = $db->select( 'in_transit', [ 'data', 'user_data' ], { user_id => $uid } )->expand->hash; my $ephemeral_data = $res_h ? $res_h->{data} : {}; my $persistent_data = $res_h ? $res_h->{user_data} : {}; $data->{him_msg} = []; $ephemeral_data->{him_msg} = []; $persistent_data->{him_msg} = []; for my $msg ( $journey->messages ) { if ( not $msg->{ueberschrift} ) { push( @{ $data->{him_msg} }, @{ $ephemeral_data->{him_msg} }, { header => q{}, prio => $msg->{prioritaet}, lead => $msg->{text} } ); push( @{ $persistent_data->{him_msg} }, { prio => $msg->{prioritaet}, lead => $msg->{text} } ); } } Loading Loading @@ -991,7 +1019,8 @@ sub update_arrival_dbris { { real_arrival => $stop->{rt_arr}, route => $json->encode( [@route] ), data => $json->encode($data), data => $json->encode($ephemeral_data), user_data => $json->encode($persistent_data), }, { user_id => $uid, Loading templates/journey.html.ep +10 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,16 @@ </td> </tr> % } % if ($journey->{user_data}{him_msg} and @{$journey->{user_data}{him_msg}}) { <tr> <th scope="row">Meldungen</th> <td> % for my $message (@{$journey->{user_data}{him_msg} // []}) { <i class="material-icons tiny"><%= ($message->{prio} and $message->{prio} eq 'HOCH') ? 'warning' : 'info' %></i> <%= $message->{header} %> <%= $message->{lead} %><br/> % } </td> </tr> % } % if ($journey->{user_data} and $journey->{user_data}{comment}) { <tr> <th scope="row">Kommentar</th> Loading Loading
lib/Travelynx/Model/InTransit.pm +41 −12 Original line number Diff line number Diff line Loading @@ -101,6 +101,7 @@ sub add { my $checkin_station_id = $opt{departure_eva}; my $route = $opt{route}; my $data = $opt{data}; my $persistent_data; my $json = JSON->new; Loading Loading @@ -242,6 +243,13 @@ sub add { lead => $msg->{text} } ); push( @{ $persistent_data->{him_msg} }, { prio => $msg->{prioritaet}, lead => $msg->{text} } ); } } $db->insert( Loading @@ -267,6 +275,7 @@ sub add { %{ $data // {} } } ), user_data => JSON->new->encode($persistent_data), backend_id => $backend_id, } ); Loading Loading @@ -824,21 +833,30 @@ 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} : {}; my $res_h = $db->select( 'in_transit', [ 'data', 'user_data' ], { user_id => $uid } )->expand->hash; my $ephemeral_data = $res_h ? $res_h->{data} : {}; my $persistent_data = $res_h ? $res_h->{user_data} : {}; $data->{him_msg} = []; $ephemeral_data->{him_msg} = []; $persistent_data->{him_msg} = []; for my $msg ( $journey->messages ) { if ( not $msg->{ueberschrift} ) { push( @{ $data->{him_msg} }, @{ $ephemeral_data->{him_msg} }, { header => q{}, prio => $msg->{prioritaet}, lead => $msg->{text} } ); push( @{ $persistent_data->{him_msg} }, { prio => $msg->{prioritaet}, lead => $msg->{text} } ); } } Loading @@ -849,7 +867,8 @@ sub update_departure_dbris { 'in_transit', { real_departure => $stop->{rt_dep}, data => $json->encode($data), data => $json->encode($ephemeral_data), user_data => $json->encode($persistent_data), }, { user_id => $uid, Loading Loading @@ -939,21 +958,30 @@ 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} : {}; my $res_h = $db->select( 'in_transit', [ 'data', 'user_data' ], { user_id => $uid } )->expand->hash; my $ephemeral_data = $res_h ? $res_h->{data} : {}; my $persistent_data = $res_h ? $res_h->{user_data} : {}; $data->{him_msg} = []; $ephemeral_data->{him_msg} = []; $persistent_data->{him_msg} = []; for my $msg ( $journey->messages ) { if ( not $msg->{ueberschrift} ) { push( @{ $data->{him_msg} }, @{ $ephemeral_data->{him_msg} }, { header => q{}, prio => $msg->{prioritaet}, lead => $msg->{text} } ); push( @{ $persistent_data->{him_msg} }, { prio => $msg->{prioritaet}, lead => $msg->{text} } ); } } Loading Loading @@ -991,7 +1019,8 @@ sub update_arrival_dbris { { real_arrival => $stop->{rt_arr}, route => $json->encode( [@route] ), data => $json->encode($data), data => $json->encode($ephemeral_data), user_data => $json->encode($persistent_data), }, { user_id => $uid, Loading
templates/journey.html.ep +10 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,16 @@ </td> </tr> % } % if ($journey->{user_data}{him_msg} and @{$journey->{user_data}{him_msg}}) { <tr> <th scope="row">Meldungen</th> <td> % for my $message (@{$journey->{user_data}{him_msg} // []}) { <i class="material-icons tiny"><%= ($message->{prio} and $message->{prio} eq 'HOCH') ? 'warning' : 'info' %></i> <%= $message->{header} %> <%= $message->{lead} %><br/> % } </td> </tr> % } % if ($journey->{user_data} and $journey->{user_data}{comment}) { <tr> <th scope="row">Kommentar</th> Loading