diff options
-rw-r--r-- | lib/DBInfoscreen/Controller/Wagenreihung.pm | 11 | ||||
-rw-r--r-- | 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 @@ % } <div class="container"> <div style="position: relative; width: 100%; height: 60ex;"> -% for my $section ($wr->sections) { - <div style="position: absolute; left: 1em; width: 2em; - top: <%= $section->{start_percent} %>%; bottom: <%= 100 - $section->{end_percent} %>%; text-align: center;"> -%= $section->{name} - </div> +% if (not $wr->has_bad_wagons) { +% for my $section ($wr->sections) { + <div style="position: absolute; left: 1em; width: 2em; + top: <%= $section->{start_percent} %>%; bottom: <%= 100 - $section->{end_percent} %>%; text-align: center;"> +%= $section->{name} + </div> +% } % } % for my $wagon ($wr->wagons) { % my $bg = ''; @@ -48,7 +50,9 @@ % } <div style="position: absolute; left: 6em; top: <%= $wagon->{position}{start_percent} %>%; bottom: <%= 100 - $wagon->{position}{end_percent} %>%;"> -% if ($wr->direction == 100) { +% if ($wr->has_bad_wagons) { +% } +% elsif ($wr->direction == 100) { ↓ % } % else { |