diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-03-29 16:42:24 +0100 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-03-29 16:42:47 +0100 |
commit | 0252ff2697d80c10c2932893995f0e77f85a38ec (patch) | |
tree | 36eba7f269cf07ce2daa7d0553c5a8f01dafe1c5 | |
parent | 84d6e23c494eea178cfe55c215ecec2b7c547195 (diff) |
pass train suffix (which is sometimes line ID) on to InTransit->add
Closes #217
-rwxr-xr-x | lib/Travelynx.pm | 12 | ||||
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 11 | ||||
-rw-r--r-- | lib/Travelynx/Model/InTransit.pm | 10 | ||||
-rw-r--r-- | public/static/js/travelynx-actions.js | 1 | ||||
-rw-r--r-- | templates/_departures_dbris.html.ep | 1 |
5 files changed, 25 insertions, 10 deletions
diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index ac64390..50f07de 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -559,11 +559,12 @@ sub startup { '_checkin_dbris_p' => sub { my ( $self, %opt ) = @_; - my $station = $opt{station}; - my $train_id = $opt{train_id}; - my $ts = $opt{ts}; - my $uid = $opt{uid} // $self->current_user->{id}; - my $db = $opt{db} // $self->pg->db; + my $station = $opt{station}; + my $train_id = $opt{train_id}; + my $train_suffix = $opt{train_suffix}; + my $ts = $opt{ts}; + my $uid = $opt{uid} // $self->current_user->{id}; + my $db = $opt{db} // $self->pg->db; my $hafas; my $promise = Mojo::Promise->new; @@ -610,6 +611,7 @@ sub startup { backend_id => $self->stations->get_backend_id( dbris => 'bahn.de' ), + train_suffix => $train_suffix, ); }; if ($@) { diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index 6a91f0e..cba28cf 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -717,11 +717,12 @@ sub travel_action { $promise->then( sub { return $self->checkin_p( - dbris => $params->{dbris}, - hafas => $params->{hafas}, - station => $params->{station}, - train_id => $params->{train}, - ts => $params->{ts}, + dbris => $params->{dbris}, + hafas => $params->{hafas}, + station => $params->{station}, + train_id => $params->{train}, + train_suffix => $params->{suffix}, + ts => $params->{ts}, ); } )->then( diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm index 34c78f7..bf117bf 100644 --- a/lib/Travelynx/Model/InTransit.pm +++ b/lib/Travelynx/Model/InTransit.pm @@ -95,6 +95,7 @@ sub add { my $db = $opt{db} // $self->{pg}->db; my $backend_id = $opt{backend_id}; my $train = $opt{train}; + my $train_suffix = $opt{train_suffix}; my $journey = $opt{journey}; my $stop = $opt{stop}; my $checkin_station_id = $opt{departure_eva}; @@ -194,6 +195,14 @@ sub add { } elsif ( $journey and $stop ) { + my $line; + if ( $train_suffix + and $journey->number + and $train_suffix ne $journey->number ) + { + $line = $train_suffix; + } + # DBRIS my @route; for my $j_stop ( $journey->route ) { @@ -231,6 +240,7 @@ sub add { checkin_time => DateTime->now( time_zone => 'Europe/Berlin' ), dep_platform => $stop->platform, train_type => $journey->type, + train_line => $line, train_no => $journey->number, train_id => $data->{trip_id}, sched_departure => $stop->sched_dep, diff --git a/public/static/js/travelynx-actions.js b/public/static/js/travelynx-actions.js index 0d2de5a..3e02283 100644 --- a/public/static/js/travelynx-actions.js +++ b/public/static/js/travelynx-actions.js @@ -198,6 +198,7 @@ function tvly_reg_handlers() { hafas: link.data('hafas'), station: link.data('station'), train: link.data('train'), + suffix: link.data('suffix'), dest: link.data('dest'), ts: link.data('ts'), }; diff --git a/templates/_departures_dbris.html.ep b/templates/_departures_dbris.html.ep index 14426e8..06f2ee9 100644 --- a/templates/_departures_dbris.html.ep +++ b/templates/_departures_dbris.html.ep @@ -21,6 +21,7 @@ data-dbris="<%= $dbris %>" data-station="<%= $result->stop_eva %>" data-train="<%= $result->id %>" + data-suffix="<%= $result->maybe_line_no %>" data-ts="<%= ($result->sched_dep // $result->dep)->epoch %>" > <a class="dep-time" href="#"> |