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

single layout: strip non-numeric platform parts for now

parent 60b691aa
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -245,6 +245,26 @@ sub startup {
		}
	);

	$self->helper(
		'numeric_platform_part' => sub {
			my ( $self, $platform ) = @_;

			if ( not defined $platform ) {
				return 0;
			}

			if ( $platform =~ m{ ^ \d+ $ }x ) {
				return $platform;
			}

			if ( $platform =~ m{ (\d+) }x ) {
				return $1;
			}

			return 0;
		}
	);

	my $r = $self->routes;

	$r->get('/_redirect')->to('static#redirect');
+13 −4
Original line number Diff line number Diff line
@@ -519,15 +519,24 @@ sub handle_request {
	if ( $template eq 'single' ) {
		if ( not @platforms ) {
			for my $result (@results) {
				if ( not( $result->platform ~~ \@platforms ) ) {
					push( @platforms, $result->platform );
				if (
					not( $self->numeric_platform_part( $result->platform ) ~~
						\@platforms )
				  )
				{
					push( @platforms,
						$self->numeric_platform_part( $result->platform ) );
				}
			}
			@platforms = sort { $a <=> $b } @platforms;
		}
		my %pcnt;
		@results = grep { $pcnt{ $_->platform }++ < 1 } @results;
		@results = sort { $a->platform <=> $b->platform } @results;
		@results
		  = grep { $pcnt{ $self->numeric_platform_part( $_->platform ) }++ < 1 }
		  @results;
		@results = map { $_->[1] }
		  sort { $a->[0] <=> $b->[0] }
		  map { [ $self->numeric_platform_part( $_->platform ), $_ ] } @results;
	}

	if ( $backend eq 'iris' and $show_realtime ) {
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
% $i++;
<div class="display">
<div class="platform">
%= $departure->{platform}
%= numeric_platform_part($departure->{platform})
</div>
<div class="time">
%= $departure->{time}