diff options
| -rw-r--r-- | lib/Travelynx/Controller/Account.pm | 33 | ||||
| -rw-r--r-- | templates/select_backend.html.ep | 16 | 
2 files changed, 46 insertions, 3 deletions
| diff --git a/lib/Travelynx/Controller/Account.pm b/lib/Travelynx/Controller/Account.pm index 647f616..1847cda 100644 --- a/lib/Travelynx/Controller/Account.pm +++ b/lib/Travelynx/Controller/Account.pm @@ -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; diff --git a/templates/select_backend.html.ep b/templates/select_backend.html.ep index 0f65039..d5bc9d5 100644 --- a/templates/select_backend.html.ep +++ b/templates/select_backend.html.ep @@ -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} %>"> | 
