Commit cf28090a authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

fix wagon order for wing trains

parent f52eb1ce
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -102,11 +102,26 @@ sub log_api_access {
	return;
}

sub check_wagonorder {
sub check_wagonorder_with_wings {
	my ( $ua, $cache, $train, $wr_link ) = @_;

	if ( check_wagonorder( $ua, $cache, $train->train_no, $wr_link ) ) {
		return 1;
	}
	elsif ( $train->is_wing ) {
		my $wing = $train->wing_of;
		if ( check_wagonorder( $ua, $cache, $wing->train_no, $wr_link ) ) {
			return 1;
		}
	}
	return;
}

sub check_wagonorder {
	my ( $ua, $cache, $train_no, $wr_link ) = @_;

	my $url
	  = "https://lib.finalrewind.org/dbdb/has_wagonorder/${train}/${wr_link}";
	  = "https://lib.finalrewind.org/dbdb/has_wagonorder/${train_no}/${wr_link}";

	if ( my $content = $cache->get($url) ) {
		return $content eq 'y' ? 1 : undef;
@@ -972,9 +987,9 @@ sub handle_request {

				if (
					$departures[-1]{wr_link}
					and not check_wagonorder(
					and not check_wagonorder_with_wings(
						$self->ua, $self->app->cache_iris_main,
						$result->train_no, $departures[-1]{wr_link}
						$result,   $departures[-1]{wr_link}
					)
				  )
				{