From 596f6deb1adef4200ddb3df4f02e6e98525a33a6 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 19 May 2019 11:26:22 +0200 Subject: show wagon order even if exact positions on platform are unknown --- lib/DBInfoscreen/Controller/Wagenreihung.pm | 11 +++++++++++ templates/wagenreihung.html.ep | 16 ++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lib/DBInfoscreen/Controller/Wagenreihung.pm b/lib/DBInfoscreen/Controller/Wagenreihung.pm index 2279da3..986019b 100644 --- a/lib/DBInfoscreen/Controller/Wagenreihung.pm +++ b/lib/DBInfoscreen/Controller/Wagenreihung.pm @@ -16,6 +16,17 @@ sub wagenreihung { train_number => $train, ); + if ( $wr->has_bad_wagons ) { + + # create fake positions as the correct ones are not available + my $pos = 0; + for my $wagon ( $wr->wagons ) { + $wagon->{position}{start_percent} = $pos; + $wagon->{position}{end_percent} = $pos + 4; + $pos += 4; + } + } + $self->render( 'wagenreihung', wr => $wr, diff --git a/templates/wagenreihung.html.ep b/templates/wagenreihung.html.ep index 0f38789..fc00968 100644 --- a/templates/wagenreihung.html.ep +++ b/templates/wagenreihung.html.ep @@ -32,11 +32,13 @@ % }
-% for my $section ($wr->sections) { -
-%= $section->{name} -
+% if (not $wr->has_bad_wagons) { +% for my $section ($wr->sections) { +
+%= $section->{name} +
+% } % } % for my $wagon ($wr->wagons) { % my $bg = ''; @@ -48,7 +50,9 @@ % }
-% if ($wr->direction == 100) { +% if ($wr->has_bad_wagons) { +% } +% elsif ($wr->direction == 100) { ↓ % } % else { -- cgit v1.2.3