package FixMyStreet::Cobrand::Bromley; use parent 'FixMyStreet::Cobrand::UKCouncils'; use strict; use warnings; sub council_id { return 2482; } sub council_area { return 'Bromley'; } sub council_name { return 'Bromley Council'; } sub council_url { return 'bromley'; } sub base_url { return FixMyStreet->config('BASE_URL') if FixMyStreet->config('STAGING_SITE'); return 'https://fix.bromley.gov.uk'; } sub disambiguate_location { my $self = shift; my $string = shift; my $town = 'Bromley'; # Bing turns High St Bromley into Bromley High St which is in # Bromley by Bow. $town .= ', BR1' if $string =~ /^high\s+st(reet)?$/i; # Disambiguations required for BR5 $town .= ', BR5' if $string =~ /^kelsey\s+r(?:oa)?d$/i; $town = 'BR5 Bromley' if $string =~ /^leith\s+hill$/i; # doesn't like appended BR5 for some reason # There has also been a road name change for a section of Ramsden Road # (BR5) between Church Hill and Court Road has changed to 'Old Priory # Avenue' - presently entering Old Priory Avenue simply takes the user to # a different Priory Avenue in Petts Wood # From Google maps search, "BR6 0PL" is a valid postcode for Old Priory Avenue if ($string =~/^old\s+priory\s+av\w*$/i) { $string = 'Ramsden Road'; $town = ', BR6 0PL'; } $town .= ', BR5' if $string =~ /^meadway/i; # and BR6 $town .= ', BR6' if $string =~ /^berrylands/i; # White Horse Hill is on boundary with Greenwich, so need a # specific postcode $town = 'chislehurst, BR7 6DH' if $string =~ /^white\s+horse/i; $town = '' if $string =~ /orpington/i; return { %{ $self->SUPER::disambiguate_location() }, town => $town, centre => '51.366836,0.040623', span => '0.154963,0.24347', bounds => [ 51.289355, -0.081112, 51.444318, 0.162358 ], }; } sub example_places { return ( 'BR1 3UH', 'Glebe Rd, Bromley' ); } sub map_type { 'Bromley'; } sub on_map_default_max_pin_age { return '1 month'; } # Bromley pins always yellow sub pin_colour { my ( $self, $p, $context ) = @_; return 'yellow'; } sub recent_photos { my ( $self, $area, $num, $lat, $lon, $dist ) = @_; $num = 3 if $num > 3 && $area eq 'alert'; return $self->problems->recent_photos( $num, $lat, $lon, $dist ); } sub send_questionnaires { return 0; } sub ask_ever_reported { return 0; } sub process_extras { my $self = shift; $self->SUPER::process_extras( @_, [ 'first_name', 'last_name' ] ); } sub contact_email { my $self = shift; return join( '@', 'info', 'bromley.gov.uk' ); } sub contact_name { 'Bromley Council (do not reply)'; } sub reports_per_page { return 20; } sub tweak_all_reports_map { my $self = shift; my $c = shift; if ( !$c->stash->{ward} ) { $c->stash->{map}->{longitude} = 0.040622967881348; $c->stash->{map}->{latitude} = 51.36690161822; $c->stash->{map}->{any_zoom} = 0; $c->stash->{map}->{zoom} = 11; } } sub title_list { return ["MR", "MISS", "MRS", "MS", "DR"]; } 1;