also show train direction on departure
This commit is contained in:
parent
ff75b16bfc
commit
a48352ada4
2 changed files with 62 additions and 4 deletions
|
@ -1744,7 +1744,7 @@ sub startup {
|
||||||
|
|
||||||
my $journey = $db->select(
|
my $journey = $db->select(
|
||||||
'in_transit_str',
|
'in_transit_str',
|
||||||
[ 'arr_ds100', 'route' ],
|
[ 'arr_ds100', 'dep_ds100', 'route' ],
|
||||||
{ user_id => $uid }
|
{ user_id => $uid }
|
||||||
)->expand->hash;
|
)->expand->hash;
|
||||||
|
|
||||||
|
@ -1911,6 +1911,27 @@ sub startup {
|
||||||
)->wait;
|
)->wait;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($is_departure) {
|
||||||
|
$self->get_dbdb_station_p( $journey->{dep_ds100} )->then(
|
||||||
|
sub {
|
||||||
|
my ($station_info) = @_;
|
||||||
|
|
||||||
|
my $res = $db->select( 'in_transit', ['data'],
|
||||||
|
{ user_id => $uid } );
|
||||||
|
my $res_h = $res->expand->hash;
|
||||||
|
my $data = $res_h->{data} // {};
|
||||||
|
|
||||||
|
$data->{stationinfo_dep} = $station_info;
|
||||||
|
|
||||||
|
$db->update(
|
||||||
|
'in_transit',
|
||||||
|
{ data => JSON->new->encode($data) },
|
||||||
|
{ user_id => $uid }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
)->wait;
|
||||||
|
}
|
||||||
|
|
||||||
if ( $journey->{arr_ds100} and not $is_departure ) {
|
if ( $journey->{arr_ds100} and not $is_departure ) {
|
||||||
$self->get_dbdb_station_p( $journey->{arr_ds100} )->then(
|
$self->get_dbdb_station_p( $journey->{arr_ds100} )->then(
|
||||||
sub {
|
sub {
|
||||||
|
@ -2271,8 +2292,12 @@ sub startup {
|
||||||
|
|
||||||
$self->helper(
|
$self->helper(
|
||||||
'stationinfo_to_direction' => sub {
|
'stationinfo_to_direction' => sub {
|
||||||
my ( $self, $platform_info, $wagonorder, $prev_stop ) = @_;
|
my ( $self, $platform_info, $wagonorder, $prev_stop, $next_stop )
|
||||||
|
= @_;
|
||||||
if ( $platform_info->{kopfgleis} ) {
|
if ( $platform_info->{kopfgleis} ) {
|
||||||
|
if ($next_stop) {
|
||||||
|
return $platform_info->{direction} eq 'r' ? 'l' : 'r';
|
||||||
|
}
|
||||||
return $platform_info->{direction};
|
return $platform_info->{direction};
|
||||||
}
|
}
|
||||||
elsif ( $prev_stop
|
elsif ( $prev_stop
|
||||||
|
@ -2280,6 +2305,13 @@ sub startup {
|
||||||
{
|
{
|
||||||
return $platform_info->{direction_from}{$prev_stop};
|
return $platform_info->{direction_from}{$prev_stop};
|
||||||
}
|
}
|
||||||
|
elsif ( $next_stop
|
||||||
|
and exists $platform_info->{direction_from}{$next_stop} )
|
||||||
|
{
|
||||||
|
return $platform_info->{direction_from}{$next_stop} eq 'r'
|
||||||
|
? 'l'
|
||||||
|
: 'r';
|
||||||
|
}
|
||||||
elsif ($wagonorder) {
|
elsif ($wagonorder) {
|
||||||
my $wr;
|
my $wr;
|
||||||
eval {
|
eval {
|
||||||
|
@ -2349,6 +2381,7 @@ sub startup {
|
||||||
$is_after = 1;
|
$is_after = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
my $stop_after_dep = $route_after[0][0];
|
||||||
|
|
||||||
my $ts = $in_transit->{checkout_ts}
|
my $ts = $in_transit->{checkout_ts}
|
||||||
// $in_transit->{checkin_ts};
|
// $in_transit->{checkin_ts};
|
||||||
|
@ -2464,6 +2497,22 @@ sub startup {
|
||||||
$ret->{journey_completion} = 0;
|
$ret->{journey_completion} = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my ($dep_platform_number)
|
||||||
|
= ( ( $ret->{dep_platform} // 0 ) =~ m{(\d+)} );
|
||||||
|
if ( $dep_platform_number
|
||||||
|
and exists $in_transit->{data}{stationinfo_dep}
|
||||||
|
{$dep_platform_number} )
|
||||||
|
{
|
||||||
|
$ret->{dep_direction}
|
||||||
|
= $self->stationinfo_to_direction(
|
||||||
|
$in_transit->{data}{stationinfo_dep}
|
||||||
|
{$dep_platform_number},
|
||||||
|
$in_transit->{data}{wagonorder_dep},
|
||||||
|
undef,
|
||||||
|
$stop_after_dep
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
my ($arr_platform_number)
|
my ($arr_platform_number)
|
||||||
= ( ( $ret->{arr_platform} // 0 ) =~ m{(\d+)} );
|
= ( ( $ret->{arr_platform} // 0 ) =~ m{(\d+)} );
|
||||||
if ( $arr_platform_number
|
if ( $arr_platform_number
|
||||||
|
@ -2475,7 +2524,8 @@ sub startup {
|
||||||
$in_transit->{data}{stationinfo_arr}
|
$in_transit->{data}{stationinfo_arr}
|
||||||
{$arr_platform_number},
|
{$arr_platform_number},
|
||||||
$in_transit->{data}{wagonorder_arr},
|
$in_transit->{data}{wagonorder_arr},
|
||||||
$stop_before_dest
|
$stop_before_dest,
|
||||||
|
undef
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,15 @@
|
||||||
Ankunft in mehr als zwei Stunden
|
Ankunft in mehr als zwei Stunden
|
||||||
% }
|
% }
|
||||||
% if ($journey->{departure_countdown} > 0 and $journey->{dep_platform}) {
|
% if ($journey->{departure_countdown} > 0 and $journey->{dep_platform}) {
|
||||||
<br/>von Gleis <%= $journey->{dep_platform} %>
|
% if ($journey->{dep_direction} and $journey->{dep_direction} eq 'r') {
|
||||||
|
<br/>Gleis <%= $journey->{dep_platform} %> ▶
|
||||||
|
% }
|
||||||
|
% elsif ($journey->{dep_direction} and $journey->{dep_direction} eq 'l') {
|
||||||
|
<br/>◀ Gleis <%= $journey->{dep_platform} %>
|
||||||
|
% }
|
||||||
|
% else {
|
||||||
|
<br/>von Gleis <%= $journey->{dep_platform} %>
|
||||||
|
% }
|
||||||
% }
|
% }
|
||||||
% if (my $wr = $journey->{wagonorder}) {
|
% if (my $wr = $journey->{wagonorder}) {
|
||||||
<br/>
|
<br/>
|
||||||
|
|
Loading…
Reference in a new issue