summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2024-03-03 16:11:48 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2024-03-03 16:11:48 +0100
commit5268be1cc6918a1793dab36140ac63d84b8ba05a (patch)
tree85515473f28594513cfd6befea0800c6ee1d9bab
parent09531c474d341f4232e291a253ec3c7e2210070c (diff)
train details: show train type(s) in wagon order link if known
-rw-r--r--lib/DBInfoscreen/Controller/Stationboard.pm12
-rw-r--r--lib/DBInfoscreen/Controller/Wagenreihung.pm2
-rw-r--r--templates/_train_details.html.ep2
3 files changed, 12 insertions, 4 deletions
diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm
index c4b3d08..7271d63 100644
--- a/lib/DBInfoscreen/Controller/Stationboard.pm
+++ b/lib/DBInfoscreen/Controller/Stationboard.pm
@@ -16,6 +16,7 @@ use List::MoreUtils qw();
use Mojo::JSON qw(decode_json encode_json);
use Mojo::Promise;
use Mojo::UserAgent;
+use Travel::Status::DE::DBWagenreihung;
use Travel::Status::DE::HAFAS;
use Travel::Status::DE::IRIS;
use Travel::Status::DE::IRIS::Stations;
@@ -714,7 +715,16 @@ sub render_train {
$self->wagonorder->get_p( $result->train_no, $departure->{wr_link} )
->then(
sub {
- # great!
+ my ($wr_json) = @_;
+ eval {
+ my $wr
+ = Travel::Status::DE::DBWagenreihung->new(
+ from_json => $wr_json );
+ $departure->{wr_text} = join( q{ + },
+ map { $_->{short} }
+ grep { $_->{short} } $wr->train_descriptions );
+ };
+ $departure->{wr_text} ||= 'Wagen';
return;
},
sub {
diff --git a/lib/DBInfoscreen/Controller/Wagenreihung.pm b/lib/DBInfoscreen/Controller/Wagenreihung.pm
index c821e11..5e5f653 100644
--- a/lib/DBInfoscreen/Controller/Wagenreihung.pm
+++ b/lib/DBInfoscreen/Controller/Wagenreihung.pm
@@ -16,8 +16,6 @@ use Travel::Status::DE::DBWagenreihung::Wagon;
sub get_zugbildung_db {
my ( $self, $train_no ) = @_;
- say $train_no;
-
my $details = $self->app->train_details_db->{$train_no};
if ( not $details ) {
diff --git a/templates/_train_details.html.ep b/templates/_train_details.html.ep
index 6e57b29..c89a01c 100644
--- a/templates/_train_details.html.ep
+++ b/templates/_train_details.html.ep
@@ -123,7 +123,7 @@
% }
% }
% if ($departure->{wr_link}) {
- <a class="smallbutton" href="/_wr/<%= $departure->{train_no} %>/<%= $departure->{wr_link} %>?e=<%= $departure->{direction} // '' %>"><i class="material-icons" aria-hidden="true">train</i> <%= l 'Wagen' %>
+ <a class="smallbutton" href="/_wr/<%= $departure->{train_no} %>/<%= $departure->{wr_link} %>?e=<%= $departure->{direction} // '' %>"><i class="material-icons" aria-hidden="true">train</i> <%= $departure->{wr_text} || 'Wagen' %>
</a>
% }
% elsif ($icetype and $icetype->[2] and ($linetype eq 'fern' or $departure->{train_type} =~ m{NJ})) {