aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/Open311.pm6
-rw-r--r--t/open311.t7
2 files changed, 12 insertions, 1 deletions
diff --git a/perllib/Open311.pm b/perllib/Open311.pm
index b380409cf..997f04b53 100644
--- a/perllib/Open311.pm
+++ b/perllib/Open311.pm
@@ -102,7 +102,11 @@ sub _populate_service_request_params {
last_name => $lastname || '',
};
- if ( $problem->used_map || $self->always_send_latlong ) {
+ # if you click nearby reports > skip map then it's possible
+ # to end up with used_map = f and nothing in postcode
+ if ( $problem->used_map || $self->always_send_latlong
+ || ( !$problem->used_map && !$problem->postcode ) )
+ {
$params->{lat} = $problem->latitude;
$params->{long} = $problem->longitude;
} else {
diff --git a/t/open311.t b/t/open311.t
index d6a5ef6f6..d66a9c2e5 100644
--- a/t/open311.t
+++ b/t/open311.t
@@ -342,6 +342,13 @@ for my $test (
postcode => 'EH99 1SP',
used_map => 1,
includes_latlong => 1,
+ },
+ {
+ desc => 'no use lat long, no map and no postcode sends lat long',
+ use_latlong => 0,
+ postcode => '',
+ used_map => 0,
+ includes_latlong => 1,
}
) {
subtest $test->{desc} => sub {