diff options
author | Dave Arter <davea@mysociety.org> | 2016-08-30 18:48:07 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2016-09-09 12:01:45 +0100 |
commit | 638c5d3be601c3949f1d1ce7ecae5d8b77ad8f7c (patch) | |
tree | 064a223fdcc62298dfb3f88858ddbd53084d2e65 /perllib/FixMyStreet/Script | |
parent | 3f55b249eb6dfe46fa3f6855d90510ff2d4900e9 (diff) |
Add ‘Inspection required’ field to categories
Categories can now require reports to be marked as 'inspected' via the frontend
before they're sent by send-reports.
A side-effect here is that send-reports will perform an extra n queries for each
report, where n is the number of bodies that report is being sent to, but
hopefully in practice this won't matter as it's an offline cronjob.
See mysociety/fixmystreetforcouncils#50
Diffstat (limited to 'perllib/FixMyStreet/Script')
-rw-r--r-- | perllib/FixMyStreet/Script/Reports.pm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/Script/Reports.pm b/perllib/FixMyStreet/Script/Reports.pm index a51923456..ab0d90ba8 100644 --- a/perllib/FixMyStreet/Script/Reports.pm +++ b/perllib/FixMyStreet/Script/Reports.pm @@ -143,6 +143,12 @@ sub send(;$) { } $reporters{ $sender } ||= $sender->new(); + my $inspection_required = $sender_info->{contact}->get_extra_metadata('inspection_required') if $sender_info->{contact}; + if ( $inspection_required && !$row->get_extra_metadata('inspected') ) { + $skip = 1; + debug_print("skipped because not yet inspected", $row->id) if $debug_mode; + } + if ( $reporters{ $sender }->should_skip( $row ) ) { $skip = 1; debug_print("skipped by sender " . $sender_info->{method} . " (might be due to previous failed attempts?)", $row->id) if $debug_mode; |