diff options
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report/New.pm | 17 | ||||
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Buckinghamshire.pm | 2 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/BathNES.pm | 6 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/Bristol.pm | 2 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/Bromley.pm | 3 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/Buckinghamshire.pm | 3 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/FMS.pm | 2 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/OSM.pm | 2 |
8 files changed, 25 insertions, 12 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index 5d24bc980..c332830b9 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -636,7 +636,7 @@ sub setup_categories_and_bodies : Private { = $c # ->model('DB::Contact') # ->active - ->search( { body_id => [ keys %bodies ] }, { prefetch => 'body' } ); + ->search( { 'me.body_id' => [ keys %bodies ] }, { prefetch => 'body' } ); my @contacts = $c->cobrand->categories_restriction($contacts)->all; # variables to populate @@ -955,7 +955,9 @@ sub process_report : Private { my $body = $c->model('DB::Body')->search({ name => $single_body_only })->first; $body ? $body->id : '-1'; } else { - my $bodies = $c->forward('contacts_to_bodies', [ $report->category ]); + my $contact_options = {}; + $contact_options->{do_not_send} = [ $c->get_param_list('do_not_send', 1) ]; + my $bodies = $c->forward('contacts_to_bodies', [ $report->category, $contact_options ]); join(',', map { $_->id } @$bodies) || '-1'; } }; @@ -1014,10 +1016,19 @@ sub process_report : Private { } sub contacts_to_bodies : Private { - my ($self, $c, $category) = @_; + my ($self, $c, $category, $options) = @_; my @contacts = grep { $_->category eq $category } @{$c->stash->{contacts}}; + # check that the front end has not indicated that we should not send to a + # body. This is usually because the asset code thinks it's not near enough + # to a road. + if ($options->{do_not_send}) { + my %do_not_send_check = map { $_ => 1 } @{$options->{do_not_send}}; + my @contacts_filtered = grep { !$do_not_send_check{$_->body->name} } @contacts; + @contacts = @contacts_filtered if scalar @contacts_filtered; + } + if ($c->stash->{unresponsive}{$category} || $c->stash->{unresponsive}{ALL} || !@contacts) { []; } else { diff --git a/perllib/FixMyStreet/Cobrand/Buckinghamshire.pm b/perllib/FixMyStreet/Cobrand/Buckinghamshire.pm index 11b52174a..c910756cc 100644 --- a/perllib/FixMyStreet/Cobrand/Buckinghamshire.pm +++ b/perllib/FixMyStreet/Cobrand/Buckinghamshire.pm @@ -334,7 +334,7 @@ sub categories_restriction { my ($self, $rs) = @_; # Buckinghamshire is a two-tier council, but only want to display # county-level categories on their cobrand. - return $rs->search( { 'body.id' => 2217 } ); + return $rs->search( { 'body_areas.area_id' => 2217 }, { join => { body => 'body_areas' } }); } sub lookup_site_code { diff --git a/perllib/FixMyStreet/Map/BathNES.pm b/perllib/FixMyStreet/Map/BathNES.pm index 9c9c3c11d..b21ba6ce7 100644 --- a/perllib/FixMyStreet/Map/BathNES.pm +++ b/perllib/FixMyStreet/Map/BathNES.pm @@ -7,12 +7,12 @@ use base 'FixMyStreet::Map::OSM'; use strict; sub map_javascript { [ - '/vendor/OpenLayers/OpenLayers.bathnes.js', + '/vendor/OpenLayers/OpenLayers.wfs.js', '/vendor/OpenLayers.Projection.OrdnanceSurvey.js', '/js/map-OpenLayers.js', '/js/map-OpenStreetMap.js', '/cobrands/fixmystreet/assets.js', - '/cobrands/bathnes/js.js', + '/cobrands/bathnes/assets.js', ] } -1;
\ No newline at end of file +1; diff --git a/perllib/FixMyStreet/Map/Bristol.pm b/perllib/FixMyStreet/Map/Bristol.pm index 5d05fbd34..99bdd26d7 100644 --- a/perllib/FixMyStreet/Map/Bristol.pm +++ b/perllib/FixMyStreet/Map/Bristol.pm @@ -64,7 +64,7 @@ sub map_javascript { [ '/js/map-wmts-base.js', '/js/map-wmts-bristol.js', '/cobrands/fixmystreet/assets.js', - '/cobrands/bristol/js.js', + '/cobrands/bristol/assets.js', ] } # Reproject a WGS84 lat/lon into BNG easting/northing diff --git a/perllib/FixMyStreet/Map/Bromley.pm b/perllib/FixMyStreet/Map/Bromley.pm index 22e4147f6..cd50cc1d1 100644 --- a/perllib/FixMyStreet/Map/Bromley.pm +++ b/perllib/FixMyStreet/Map/Bromley.pm @@ -10,12 +10,13 @@ use base 'FixMyStreet::Map::FMS'; use strict; sub map_javascript { [ - '/vendor/OpenLayers/OpenLayers.buckinghamshire.js', + '/vendor/OpenLayers/OpenLayers.wfs.js', '/js/map-OpenLayers.js', '/js/map-bing-ol.js', '/js/map-fms.js', '/cobrands/fixmystreet/assets.js', '/cobrands/bromley/map.js', + '/cobrands/bromley/assets.js', ] } sub map_tile_base { diff --git a/perllib/FixMyStreet/Map/Buckinghamshire.pm b/perllib/FixMyStreet/Map/Buckinghamshire.pm index b6d86d4b9..10ee2a080 100644 --- a/perllib/FixMyStreet/Map/Buckinghamshire.pm +++ b/perllib/FixMyStreet/Map/Buckinghamshire.pm @@ -7,13 +7,14 @@ use base 'FixMyStreet::Map::OSM'; use strict; sub map_javascript { [ - '/vendor/OpenLayers/OpenLayers.buckinghamshire.js', + '/vendor/OpenLayers/OpenLayers.wfs.js', '/vendor/OpenLayers.Projection.OrdnanceSurvey.js', '/js/map-OpenLayers.js', '/js/map-OpenStreetMap.js', '/cobrands/fixmystreet-uk-councils/roadworks.js', '/cobrands/fixmystreet/assets.js', '/cobrands/buckinghamshire/js.js', + '/cobrands/buckinghamshire/assets.js', ] } 1; diff --git a/perllib/FixMyStreet/Map/FMS.pm b/perllib/FixMyStreet/Map/FMS.pm index 89f872297..226123c69 100644 --- a/perllib/FixMyStreet/Map/FMS.pm +++ b/perllib/FixMyStreet/Map/FMS.pm @@ -12,7 +12,7 @@ use strict; sub map_template { 'fms' } sub map_javascript { [ - '/vendor/OpenLayers/OpenLayers.fixmystreet.js', + '/vendor/OpenLayers/OpenLayers.wfs.js', '/js/map-OpenLayers.js', '/js/map-bing-ol.js', '/js/map-fms.js', diff --git a/perllib/FixMyStreet/Map/OSM.pm b/perllib/FixMyStreet/Map/OSM.pm index 47d6eeee7..67f12d526 100644 --- a/perllib/FixMyStreet/Map/OSM.pm +++ b/perllib/FixMyStreet/Map/OSM.pm @@ -19,7 +19,7 @@ sub map_type { 'OpenLayers.Layer.OSM.Mapnik' } sub map_template { 'osm' } sub map_javascript { [ - '/vendor/OpenLayers/OpenLayers.fixmystreet.js', + '/vendor/OpenLayers/OpenLayers.wfs.js', '/js/map-OpenLayers.js', '/js/map-OpenStreetMap.js', ] } |