diff options
author | Matthew Somerville <matthew@mysociety.org> | 2020-03-12 16:17:08 +0000 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2020-03-31 09:48:39 +0100 |
commit | 7ed376410d38c3d86981f005d12ad77e3f1501d1 (patch) | |
tree | 5a1177f46b1eeaa40e2d150b12b141439e39a112 /perllib/FixMyStreet/Cobrand/Bromley.pm | |
parent | 3fc4923a6a710f9ae0bee30ee805e89adc707f1c (diff) |
[Open311] Allow save/drop of row extra during send
Diffstat (limited to 'perllib/FixMyStreet/Cobrand/Bromley.pm')
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Bromley.pm | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Bromley.pm b/perllib/FixMyStreet/Cobrand/Bromley.pm index abe8796b5..73d5f94bf 100644 --- a/perllib/FixMyStreet/Cobrand/Bromley.pm +++ b/perllib/FixMyStreet/Cobrand/Bromley.pm @@ -161,7 +161,14 @@ sub title_list { sub open311_config { my ($self, $row, $h, $params) = @_; - my $extra = $row->get_extra_fields; + $params->{always_send_latlong} = 0; + $params->{send_notpinpointed} = 1; + $params->{extended_description} = 0; +} + +sub open311_extra_data { + my ($self, $row, $h, $extra) = @_; + my $title = $row->title; foreach (@$extra) { @@ -169,9 +176,8 @@ sub open311_config { $title .= ' | ID: ' . $_->{value} if $_->{name} eq 'feature_id'; $title .= ' | PROW ID: ' . $_->{value} if $_->{name} eq 'prow_reference'; } - @$extra = grep { $_->{name} !~ /feature_id|prow_reference/ } @$extra; - push @$extra, + my $open311_only = [ { name => 'report_url', value => $h->{url} }, { name => 'report_title', @@ -183,23 +189,20 @@ sub open311_config { { name => 'requested_datetime', value => DateTime::Format::W3CDTF->format_datetime($row->confirmed->set_nanosecond(0)) }, { name => 'email', - value => $row->user->email }; + value => $row->user->email } + ]; # make sure we have last_name attribute present in row's extra, so # it is passed correctly to Bromley as attribute[] if (!$row->get_extra_field_value('last_name')) { my ( $firstname, $lastname ) = ( $row->name =~ /(\S+)\.?\s+(.+)/ ); - push @$extra, { name => 'last_name', value => $lastname }; + push @$open311_only, { name => 'last_name', value => $lastname }; } if (!$row->get_extra_field_value('fms_extra_title') && $row->user->title) { - push @$extra, { name => 'fms_extra_title', value => $row->user->title }; + push @$open311_only, { name => 'fms_extra_title', value => $row->user->title }; } - $row->set_extra_fields(@$extra); - - $params->{always_send_latlong} = 0; - $params->{send_notpinpointed} = 1; - $params->{extended_description} = 0; + return ($open311_only, [ 'feature_id', 'prow_reference' ]); } sub open311_config_updates { |