Commit 717107cb authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Do not perform transfer processing for child requests to related stations

This fixes transfer trains getting lost when requested from a related station

Notable offender: "Berlin Südkreuz" lacked S 41 / S42 (ring line
from Südkreuz (S) to Südkreuz (S) with transfer to/from the next/previous
incarnation), as it referenced "Berlin Südkreuz (S)". "Berlin Südkreuz (S)"
itself worked fine.
parent 19eb0205
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -81,6 +81,12 @@ sub new {
	$self->{related_stations} = \@related_stations;

	for my $ref (@related_stations) {

       # We (the parent) perform transfer processing, so child requests must not
       # do it themselves. Otherwise, trains from child requests will be
       # processed twice and may be lost.
       # Similarly, child requests must not perform requests to related
       # stations -- we're already doing that right now.
		my $ref_status = Travel::Status::DE::IRIS->new(
			datetime       => $self->{datetime},
			developer_mode => $self->{developer_mode},
@@ -92,6 +98,7 @@ sub new {
			realtime_cache => $self->{rt_cache},
			strptime_obj   => $self->{strptime_obj},
			user_agent     => $self->{user_agent},
			keep_transfers => 1,
			with_related   => 0,
		);
		if ( not $ref_status->errstr ) {