Unverified Commit 5ff9e5c7 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

history map: allow filtering by train type

parent 5dfbdd86
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -787,6 +787,14 @@ sub commute {
	);
}

sub has_str_in_list {
	my ( $str, @strs ) = @_;
	if ( List::Util::any { $str eq $_ } @strs ) {
		return 1;
	}
	return;
}

sub map_history {
	my ($self) = @_;

@@ -799,6 +807,7 @@ sub map_history {
	my $route_type    = $self->param('route_type');
	my $filter_from   = $self->param('filter_after');
	my $filter_until  = $self->param('filter_before');
	my $filter_type   = $self->param('filter_type');
	my $with_polyline = $route_type eq 'beeline' ? 0 : 1;

	my $parser = DateTime::Format::Strptime->new(
@@ -831,6 +840,11 @@ sub map_history {
		before        => $filter_until,
	);

	if ($filter_type) {
		my @filter = split( qr{, *}, $filter_type );
		@journeys = grep { has_str_in_list( $_->{type}, @filter ) } @journeys;
	}

	if ( not @journeys ) {
		$self->render(
			template            => 'history_map',
+6 −0
Original line number Diff line number Diff line
@@ -69,6 +69,12 @@
			<label for="filter_before">Abfahrt bis (DD.MM.YYYY)</label>
		</div>
	</div>
	<div class="row">
		<div class="input-field col s12">
			%= text_field 'filter_type', id => 'filter_type'
			<label for="filter_tpye">Zugtypen</label>
		</div>
	</div>
	<div class="row">
		<div class="col s12 center-align">
			<button class="btn wave-effect waves-light" type="submit">