From 1fab7bb790f1e4fed0fe49e8fac9e2612d1ebeed Mon Sep 17 00:00:00 2001 From: Matthew Somerville Date: Fri, 3 Feb 2017 13:33:15 +0000 Subject: Add a 'closest_address' hidden Open311 attribute. This joins easting, northing and an external ID field. --- perllib/FixMyStreet/DB/Result/Contact.pm | 2 +- perllib/FixMyStreet/SendReport/Open311.pm | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/perllib/FixMyStreet/DB/Result/Contact.pm b/perllib/FixMyStreet/DB/Result/Contact.pm index 0c9a7c0d8..f7e8ac5b5 100644 --- a/perllib/FixMyStreet/DB/Result/Contact.pm +++ b/perllib/FixMyStreet/DB/Result/Contact.pm @@ -86,7 +86,7 @@ __PACKAGE__->many_to_many( response_priorities => 'contact_response_priorities', sub get_metadata_for_input { my $self = shift; my $id_field = $self->id_field; - my @metadata = grep { $_->{code} !~ /^(easting|northing|$id_field)$/ } @{$self->get_extra_fields}; + my @metadata = grep { $_->{code} !~ /^(easting|northing|closest_address|$id_field)$/ } @{$self->get_extra_fields}; # Just in case the extra data is in an old parsed format foreach (@metadata) { diff --git a/perllib/FixMyStreet/SendReport/Open311.pm b/perllib/FixMyStreet/SendReport/Open311.pm index ee40f371a..9c55683ed 100644 --- a/perllib/FixMyStreet/SendReport/Open311.pm +++ b/perllib/FixMyStreet/SendReport/Open311.pm @@ -81,6 +81,8 @@ sub send { foreach (@{$contact->get_extra_fields}) { if ($_->{code} eq $id_field) { push @$extra, { name => $id_field, value => $row->id }; + } elsif ($_->{code} eq 'closest_address' && $h->{closest_address}) { + push @$extra, { name => $_->{code}, value => $h->{$_->{code}} }; } elsif ($_->{code} =~ /^(easting|northing)$/) { if ( $row->used_map || ( !$row->used_map && !$row->postcode ) ) { push @$extra, { name => $_->{code}, value => $h->{$_->{code}} }; -- cgit v1.2.3