aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/SendReport.pm
diff options
context:
space:
mode:
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;