Unverified Commit 1a185897 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

backend selection: add coverage regions and links to coverage map

parent 4c7b3117
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -1005,6 +1005,36 @@ sub backend_form {

	my @backends = $self->stations->get_backends;

	my %place_map = (
		AT       => 'Österreich',
		CH       => 'Schweiz',
		'CH-BE'  => 'Kanton Bern',
		'CH-GE'  => 'Kanton Genf',
		'CH-LU'  => 'Kanton Luzern',
		'CH-ZH'  => 'Kanton Zürich',
		DE       => 'Deutschland',
		'DE-BB'  => 'Brandenburg',
		'DE-BW'  => 'Baden-Württemberg',
		'DE-BE'  => 'Berlin',
		'DE-BY'  => 'Bayern',
		'DE-HB'  => 'Bremen',
		'DE-HE'  => 'Hessen',
		'DE-MV'  => 'Mecklenburg-Vorpommern',
		'DE-NI'  => 'Niedersachsen',
		'DE-NW'  => 'Nordrhein-Westfalen',
		'DE-RP'  => 'Rheinland-Pfalz',
		'DE-SH'  => 'Schleswig-Holstein',
		'DE-ST'  => 'Sachsen-Anhalt',
		'DE-TH'  => 'Thüringen',
		DK       => 'Dänemark',
		'GB-NIR' => 'Nordirland',
		LI       => 'Liechtenstein',
		LU       => 'Luxembourg',
		IE       => 'Irland',
		'US-CA'  => 'California',
		'US-TX'  => 'Texas',
	);

	for my $backend (@backends) {
		my $type = 'UNKNOWN';
		if ( $backend->{iris} ) {
@@ -1018,6 +1048,9 @@ sub backend_form {
				$type                = 'HAFAS';
				$backend->{longname} = $s->{name};
				$backend->{homepage} = $s->{homepage};
				$backend->{regions}  = [ map { $place_map{$_} // $_ }
					  @{ $s->{coverage}{regions} // [] } ];
				$backend->{has_area} = $s->{coverage}{area} ? 1 : 0;
			}
			else {
				$type = undef;
+13 −3
Original line number Diff line number Diff line
@@ -17,12 +17,22 @@
	% for my $backend (@{ stash('backends') // [] }) {
		<div class="row">
			<div class="col s8 m6 l6 right-align">
				% if ($backend->{longname}) {
					<a href="<%= $backend->{homepage} %>"><%= $backend->{longname} %></a>
				% }
				%= $backend->{longname}
				% if ($backend->{id} == $user->{backend_id}) {
					(aktuell ausgewählt)
				% }
				% if ($backend->{has_area}) {
					<br/>
					<a href="https://dbf.finalrewind.org/coverage/HAFAS/<%= $backend->{name} %>"><%= join(q{, }, @{$backend->{regions} // []}) || '[Karte]' %></a>
				% }
				% elsif ($backend->{regions}) {
					<br/>
					%= join(q{, }, @{$backend->{regions} // []})
				% }
				% if ($backend->{homepage}) {
					<br/>
					<a href="<%= $backend->{homepage} %>"><%= $backend->{homepage} =~ s{ ^ http s? :// (?: www[.] )? (.*?) (?: / )? $ }{$1}xr %></a>
				% }
			</div>
			<div class="col s4 m6 l6 left-align">
				<button class="btn waves-effect waves-light <%= $backend->{id} == $user->{backend_id} ? 'disabled' : q{} %>" style="min-width: 6em;" type="submit" name="backend" value="<%= $backend->{id} %>">