diff options
Diffstat (limited to 'perllib/FixMyStreet/DB')
-rw-r--r-- | perllib/FixMyStreet/DB/ResultSet/AlertType.pm | 21 | ||||
-rw-r--r-- | perllib/FixMyStreet/DB/ResultSet/Problem.pm | 4 | ||||
-rw-r--r-- | perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm | 5 |
3 files changed, 24 insertions, 6 deletions
diff --git a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm index 25c727e25..114f79c6e 100644 --- a/perllib/FixMyStreet/DB/ResultSet/AlertType.pm +++ b/perllib/FixMyStreet/DB/ResultSet/AlertType.pm @@ -11,11 +11,14 @@ use mySociety::MaPit; use IO::String; use RABX; +use FixMyStreet::Email; + # Child must have confirmed, id, email, state(!) columns # If parent/child, child table must also have name and text # and foreign key to parent must be PARENT_id sub email_alerts ($) { my ( $rs ) = @_; + my $schema = $rs->result_source->schema; my $q = $rs->search( { ref => { -not_like => '%local_problems%' } } ); while (my $alert_type = $q->next) { @@ -55,7 +58,7 @@ sub email_alerts ($) { $query = dbh()->prepare($query); $query->execute(); my $last_alert_id; - my %data = ( template => $alert_type->template, data => '' ); + my %data = ( template => $alert_type->template, data => '', schema => $schema ); while (my $row = $query->fetchrow_hashref) { my $cobrand = FixMyStreet::Cobrand->get_class_for_moniker($row->{alert_cobrand})->new(); @@ -76,7 +79,7 @@ sub email_alerts ($) { } ); if ($last_alert_id && $last_alert_id != $row->{alert_id}) { _send_aggregated_alert_email(%data); - %data = ( template => $alert_type->template, data => '' ); + %data = ( template => $alert_type->template, data => '', schema => $schema ); } # create problem status message for the templates @@ -173,7 +176,16 @@ sub email_alerts ($) { sprintf("%f", int($d*10+0.5)/10); }; my $states = "'" . join( "', '", FixMyStreet::DB::Result::Problem::visible_states() ) . "'"; - my %data = ( template => $template, data => '', alert_id => $alert->id, alert_email => $alert->user->email, lang => $alert->lang, cobrand => $alert->cobrand, cobrand_data => $alert->cobrand_data ); + my %data = ( + template => $template, + data => '', + alert_id => $alert->id, + alert_email => $alert->user->email, + lang => $alert->lang, + cobrand => $alert->cobrand, + cobrand_data => $alert->cobrand_data, + schema => $schema, + ); my $q = "select problem.id, problem.bodies_str, problem.postcode, problem.geocode, problem.title from problem_find_nearby(?, ?, ?) as nearby, problem, users where nearby.problem_id = problem.id and problem.user_id = users.id @@ -233,7 +245,8 @@ sub _send_aggregated_alert_email(%) { my $template = FixMyStreet->get_email_template($cobrand->moniker, $data{lang}, "$data{template}.txt"); - my $result = FixMyStreet::App->send_email_cron( + my $result = FixMyStreet::Email::send_cron( + $data{schema}, { _template_ => $template, _parameters_ => \%data, diff --git a/perllib/FixMyStreet/DB/ResultSet/Problem.pm b/perllib/FixMyStreet/DB/ResultSet/Problem.pm index e9f5d0f8e..0c2811b7b 100644 --- a/perllib/FixMyStreet/DB/ResultSet/Problem.pm +++ b/perllib/FixMyStreet/DB/ResultSet/Problem.pm @@ -11,6 +11,7 @@ use mySociety::Config; use mySociety::MaPit; use FixMyStreet::App; +use FixMyStreet::Email; use FixMyStreet::SendReport; my $site_key; @@ -513,7 +514,8 @@ sub _send_report_sent_email { my $template = FixMyStreet->get_email_template($row->cobrand, $row->lang, 'confirm_report_sent.txt'); - FixMyStreet::App->send_email_cron( + FixMyStreet::Email::send_cron( + $row->result_source->schema, { _template_ => $template, _parameters_ => $h, diff --git a/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm b/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm index bf1c68c49..f9d32f2c1 100644 --- a/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm +++ b/perllib/FixMyStreet/DB/ResultSet/Questionnaire.pm @@ -6,6 +6,8 @@ use warnings; use Encode; use Utils; +use FixMyStreet::Email; + sub send_questionnaires { my ( $rs, $params ) = @_; $rs->send_questionnaires_period( '4 weeks', $params ); @@ -89,7 +91,8 @@ sub send_questionnaires_period { . $row->user->email . "\n" if $params->{verbose}; - my $result = FixMyStreet::App->send_email_cron( + my $result = FixMyStreet::Email::send_cron( + $rs->result_source->schema, { _template_ => $template, _parameters_ => \%h, |