aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/SendReport.pm
diff options
context:
space:
mode:
authorMarius Halden <marius.h@lden.org>2020-09-29 14:23:52 +0200
committerMarius Halden <marius.h@lden.org>2020-09-29 14:23:52 +0200
commita27ce1524d801d2742a2bdb6ec1da45126d64353 (patch)
tree64123c4e17dc1776aa0a7cd65ee01d49d3e7d978 /perllib/FixMyStreet/SendReport.pm
parent377bd96aab7cad3434185c30eb908c9da447fe40 (diff)
parent2773c60226b9370fe8ee00f7b205b571bb87c3b5 (diff)
Merge tag 'v3.0.1' into fiksgatami-dev
Diffstat (limited to 'perllib/FixMyStreet/SendReport.pm')
-rw-r--r--perllib/FixMyStreet/SendReport.pm35
1 files changed, 18 insertions, 17 deletions
diff --git a/perllib/FixMyStreet/SendReport.pm b/perllib/FixMyStreet/SendReport.pm
index db95850e6..c08a7ddbe 100644
--- a/perllib/FixMyStreet/SendReport.pm
+++ b/perllib/FixMyStreet/SendReport.pm
@@ -15,25 +15,9 @@ has 'to' => ( is => 'rw', isa => ArrayRef, default => sub { [] } );
has 'bcc' => ( is => 'rw', isa => ArrayRef, default => sub { [] } );
has 'success' => ( is => 'rw', isa => Bool, default => 0 );
has 'error' => ( is => 'rw', isa => Str, default => '' );
-has 'unconfirmed_counts' => ( 'is' => 'rw', isa => HashRef, default => sub { {} } );
-has 'unconfirmed_notes' => ( 'is' => 'rw', isa => HashRef, default => sub { {} } );
+has 'unconfirmed_data' => ( 'is' => 'rw', isa => HashRef, default => sub { {} } );
-sub should_skip {
- my $self = shift;
- my $row = shift;
- my $debug = shift;
-
- return 0 unless $row->send_fail_count;
- return 0 if $debug;
-
- my $now = DateTime->now( time_zone => FixMyStreet->local_time_zone );
- my $diff = $now - $row->send_fail_timestamp;
-
- my $backoff = $row->send_fail_count > 1 ? 30 : 5;
- return $diff->in_units( 'minutes' ) < $backoff;
-}
-
sub get_senders {
my $self = shift;
@@ -60,4 +44,21 @@ sub add_body {
$self->body_config->{ $body->id } = $config;
}
+sub fetch_category {
+ my ($self, $body, $row, $category_override) = @_;
+
+ my $contact = $row->result_source->schema->resultset("Contact")->find( {
+ body_id => $body->id,
+ category => $category_override || $row->category,
+ } );
+
+ unless ($contact) {
+ my $error = "Category " . $row->category . " does not exist for body " . $body->id . " and report " . $row->id . "\n";
+ $self->error( "Failed to send over Open311\n" ) unless $self->error;
+ $self->error( $self->error . "\n" . $error );
+ }
+
+ return $contact;
+}
+
1;