summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-03-29 16:42:24 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2025-03-29 16:42:47 +0100
commit0252ff2697d80c10c2932893995f0e77f85a38ec (patch)
tree36eba7f269cf07ce2daa7d0553c5a8f01dafe1c5
parent84d6e23c494eea178cfe55c215ecec2b7c547195 (diff)
pass train suffix (which is sometimes line ID) on to InTransit->add
Closes #217
-rwxr-xr-xlib/Travelynx.pm12
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm11
-rw-r--r--lib/Travelynx/Model/InTransit.pm10
-rw-r--r--public/static/js/travelynx-actions.js1
-rw-r--r--templates/_departures_dbris.html.ep1
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="#">