diff options
author | Matthew Somerville <matthew@mysociety.org> | 2014-05-16 18:25:32 +0100 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2014-05-16 18:25:32 +0100 |
commit | 90208bb808c84209b16ce1628e04a8eaa6e10448 (patch) | |
tree | 65d02dd615762cabdfdbc2a026885ebef1ea23e2 /perllib/FixMyStreet/App.pm | |
parent | bf062b508081521201cf315f483b7aee3a6a0c7b (diff) | |
parent | 3687cc573db7fbdae09773d9007bc6abeac89409 (diff) |
Merge branch '700-auto-emails'
Diffstat (limited to 'perllib/FixMyStreet/App.pm')
-rw-r--r-- | perllib/FixMyStreet/App.pm | 36 |
1 files changed, 26 insertions, 10 deletions
diff --git a/perllib/FixMyStreet/App.pm b/perllib/FixMyStreet/App.pm index 13617a3c0..0d3b024a8 100644 --- a/perllib/FixMyStreet/App.pm +++ b/perllib/FixMyStreet/App.pm @@ -349,7 +349,7 @@ sub send_email { } sub send_email_cron { - my ( $c, $params, $env_from, $env_to, $nomail ) = @_; + my ( $c, $params, $env_from, $env_to, $nomail, $cobrand, $lang_code ) = @_; return 1 if $c->is_abuser( $env_to ); @@ -357,15 +357,31 @@ sub send_email_cron { unpack('h*', random_bytes(5, 1)), FixMyStreet->config('EMAIL_DOMAIN') ); - $params->{_parameters_}->{signature} = ''; - #$params->{_parameters_}->{signature} = $c->view('Email')->render( - # $c, 'signature.txt', { - # additional_template_paths => [ - # FixMyStreet->path_to( 'templates', 'email', $c->cobrand->moniker, $c->stash->{lang_code} )->stringify, - # FixMyStreet->path_to( 'templates', 'email', $c->cobrand->moniker )->stringify, - # ] - # } - #); + # This is all to set the path for the templates processor so we can override + # signature and site names in emails using templates in the old style emails. + # It's a bit involved as not everywhere we use it knows about the cobrand so + # we can't assume there will be one. + my $include_path = FixMyStreet->path_to( 'templates', 'email', 'default' )->stringify; + if ( $cobrand ) { + $include_path = + FixMyStreet->path_to( 'templates', 'email', $cobrand->moniker )->stringify . ':' + . $include_path; + if ( $lang_code ) { + $include_path = + FixMyStreet->path_to( 'templates', 'email', $cobrand->moniker, $lang_code )->stringify . ':' + . $include_path; + } + } + my $tt = Template->new({ + INCLUDE_PATH => $include_path + }); + my ($sig, $site_name); + $tt->process( 'signature.txt', $params, \$sig ); + $params->{_parameters_}->{signature} = $sig; + + $tt->process( 'site_name.txt', $params, \$site_name ); + my $site_title = $cobrand ? $cobrand->site_title : ''; + $params->{_parameters_}->{site_name} = $site_name || $site_title; $params->{_line_indent} = ''; my $email = mySociety::Locale::in_gb_locale { mySociety::Email::construct_email($params) }; |