diff options
| author | Birte Kristina Friesel <derf@finalrewind.org> | 2024-03-27 14:59:20 +0100 | 
|---|---|---|
| committer | Birte Kristina Friesel <derf@finalrewind.org> | 2024-03-27 14:59:20 +0100 | 
| commit | 51b52327caa311a851c50951a5c4b9b37ccf0ed8 (patch) | |
| tree | fc7f188e9a7b5c8c0cf3c80d71478205306708ef /lib/DBInfoscreen/Controller | |
| parent | 4329fde714614c28e12f45892c486c0989c85886 (diff) | |
map: support non-DB HAFAS backends, including ÖBB
Diffstat (limited to 'lib/DBInfoscreen/Controller')
| -rw-r--r-- | lib/DBInfoscreen/Controller/Map.pm | 30 | 
1 files changed, 28 insertions, 2 deletions
| diff --git a/lib/DBInfoscreen/Controller/Map.pm b/lib/DBInfoscreen/Controller/Map.pm index e552a18..bced612 100644 --- a/lib/DBInfoscreen/Controller/Map.pm +++ b/lib/DBInfoscreen/Controller/Map.pm @@ -314,13 +314,26 @@ sub route {  	my ($self)  = @_;  	my $trip_id = $self->stash('tripid');  	my $line_no = $self->stash('lineno'); +	my $hafas   = $self->param('hafas');  	my $from_name = $self->param('from');  	my $to_name   = $self->param('to');  	$self->render_later; -	$self->hafas->get_polyline_p( $trip_id, $line_no )->then( +	my $service = 'DB'; +	if (    $hafas +		and $hafas ne '1' +		and Travel::Status::DE::HAFAS::get_service($hafas) ) +	{ +		$service = $hafas; +	} + +	$self->hafas->get_polyline_p( +		id      => $trip_id, +		line    => $line_no, +		service => $service +	)->then(  		sub {  			my ($journey) = @_; @@ -458,12 +471,25 @@ sub ajax_route {  	my ($self)  = @_;  	my $trip_id = $self->stash('tripid');  	my $line_no = $self->stash('lineno'); +	my $hafas   = $self->param('hafas');  	delete $self->stash->{layout};  	$self->render_later; -	$self->hafas->get_polyline_p( $trip_id, $line_no )->then( +	my $service = 'DB'; +	if (    $hafas +		and $hafas ne '1' +		and Travel::Status::DE::HAFAS::get_service($hafas) ) +	{ +		$service = $hafas; +	} + +	$self->hafas->get_polyline_p( +		id      => $trip_id, +		line    => $line_no, +		service => $service +	)->then(  		sub {  			my ($journey) = @_; | 
