'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),
],
);
$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);
}
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;
$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;
}