diff options
Diffstat (limited to 'perllib')
-rw-r--r-- | perllib/FixMyStreet/SendReport/Open311.pm | 9 | ||||
-rw-r--r-- | perllib/Open311.pm | 10 |
2 files changed, 14 insertions, 5 deletions
diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm index 17492624d..e572a76e5 100644 --- a/perllib/FixMyStreet/SendReport/Open311.pm +++ b/perllib/FixMyStreet/SendReport/Open311.pm @@ -30,6 +30,7 @@ sub send { foreach my $council ( keys %{ $self->councils } ) { my $conf = FixMyStreet::App->model("DB::Open311conf")->search( { area_id => $council, endpoint => { '!=', '' } } )->first; + my $always_send_latlong = 1; # Extra bromley fields if ( $row->council =~ /2482/ ) { @@ -44,6 +45,7 @@ sub send { push @$extra, { name => 'requested_datetime', value => DateTime::Format::W3CDTF->format_datetime($row->confirmed_local->set_nanosecond(0)) }; push @$extra, { name => 'email', value => $row->user->email }; $row->extra( $extra ); + $always_send_latlong = 0; } # FIXME: we've already looked this up before @@ -54,9 +56,10 @@ sub send { } ); my $open311 = Open311->new( - jurisdiction => $conf->jurisdiction, - endpoint => $conf->endpoint, - api_key => $conf->api_key, + jurisdiction => $conf->jurisdiction, + endpoint => $conf->endpoint, + api_key => $conf->api_key, + always_send_latlong => $always_send_latlong, ); # non standard west berks end points diff --git a/perllib/Open311.pm b/perllib/Open311.pm index d97b61f90..47baed082 100644 --- a/perllib/Open311.pm +++ b/perllib/Open311.pm @@ -20,6 +20,7 @@ has debug => ( is => 'ro', isa => 'Bool', default => 0 ); has debug_details => ( is => 'rw', 'isa' => 'Str', default => '' ); has success => ( is => 'rw', 'isa' => 'Bool', default => 0 ); has error => ( is => 'rw', 'isa' => 'Str', default => '' ); +has always_send_latlong => ( is => 'ro', isa => 'Bool', default => 1 ); before [ qw/get_service_list get_service_meta_info get_service_requests get_service_request_updates @@ -88,8 +89,6 @@ sub _populate_service_request_params { my ( $firstname, $lastname ) = ( $problem->user->name =~ /(\w+)\s+(.+)/ ); my $params = { - lat => $problem->latitude, - long => $problem->longitude, email => $problem->user->email, description => $description, service_code => $service_code, @@ -97,6 +96,13 @@ sub _populate_service_request_params { last_name => $lastname || '', }; + if ( $problem->used_map || $self->always_send_latlong ) { + $params->{lat} = $problem->latitude; + $params->{long} = $problem->longitude; + } else { + $params->{address} = $problem->postcode; + } + if ( $problem->user->phone ) { $params->{ phone } = $problem->user->phone; } |