X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ff159a4d47b9a2d10744dcfc23da2c63605c8a32..eeb5375ee7727c956cc357cc8f90b19d1bfe80b9:/SL/BackgroundJob/SelfTest.pm diff --git a/SL/BackgroundJob/SelfTest.pm b/SL/BackgroundJob/SelfTest.pm index b715f9e07..f9ea74dcf 100644 --- a/SL/BackgroundJob/SelfTest.pm +++ b/SL/BackgroundJob/SelfTest.pm @@ -26,7 +26,7 @@ use Rose::Object::MakeMethods::Generic ( 'add_full_diag' => { interface => 'add', hash_key => 'full_diag' }, ], scalar => [ - qw(diag tester config aggreg module_nr), + qw(diag tester config aggreg module_nr additional_email), ], ); @@ -44,14 +44,22 @@ sub setup { $self->aggreg(TAP::Parser::Aggregator->new); $self->modules(split /\s+/, $self->config->{modules}); + $self->modules($self->{options}->{modules}) if $self->{options}->{modules}; } sub run { - my $self = shift; + my $self = shift; + my $db_obj = shift; + + # get custom options (module list || alternate email) + $self->{options} = $db_obj->data_as_hash; $self->setup; return 1 unless $self->modules; + # set additional mail + $self->additional_email($self->{options}->{email}) if $self->{options}->{email} =~ m/(\S+)@(\S+)$/; + foreach my $module ($self->modules) { $self->run_module($module); } @@ -124,10 +132,13 @@ sub _send_email { return if !$self->config || !$self->config->{send_email_to}; my $user = $self->_email_user; - my $email = $user ? $user->get_config_value('email') : undef; - + my $email = $self->{options}->{mail_to} ? $self->{options}->{mail_to} + : $user ? $user->get_config_value('email') + : undef; return unless $email; + $email .= $self->additional_email ? ',' . $self->additional_email : ''; + my ($output, $content_type) = $self->_prepare_report; my $mail = Mailer->new; @@ -138,7 +149,7 @@ sub _send_email { $mail->{message} = $$output; my $err = $mail->send; - $self->add_errors('Mailer error #1', $err) if $err; + $self->add_errors($::locale->text('Mailer error #1', $err)) if $err; }