aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/Script/Reports.pm
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2016-08-30 18:48:07 +0100
committerDave Arter <davea@mysociety.org>2016-09-09 12:01:45 +0100
commit638c5d3be601c3949f1d1ce7ecae5d8b77ad8f7c (patch)
tree064a223fdcc62298dfb3f88858ddbd53084d2e65 /perllib/FixMyStreet/Script/Reports.pm
parent3f55b249eb6dfe46fa3f6855d90510ff2d4900e9 (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/Reports.pm')
-rw-r--r--perllib/FixMyStreet/Script/Reports.pm6
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;