diff options
| -rw-r--r-- | FS/FS/msg_template.pm | 23 | ||||
| -rw-r--r-- | FS/FS/msg_template/InitialData.pm | 14 | ||||
| -rw-r--r-- | httemplate/edit/log_email.html | 11 | 
3 files changed, 48 insertions, 0 deletions
| diff --git a/FS/FS/msg_template.pm b/FS/FS/msg_template.pm index 2388aba69..0018a4586 100644 --- a/FS/FS/msg_template.pm +++ b/FS/FS/msg_template.pm @@ -879,6 +879,25 @@ sub _upgrade_data {    ###    $self->_populate_initial_data; +  ### Fix dump-email_to (needs to happen after _populate_initial_data) +  if ($conf->config('dump-email_to')) { +    # anyone who still uses dump-email_to should have just had this created +    my ($msg_template) = qsearch('msg_template',{ msgname => 'System log' }); +    if ($msg_template) { +      eval "use FS::log_email;"; +      die $@ if $@; +      my $log_email = new FS::log_email { +        'context' => 'Cron::backup', +        'min_level' => 1, +        'msgnum' => $msg_template->msgnum, +        'to_addr' => $conf->config('dump-email_to'), +      }; +      my $error = $log_email->insert; +      die $error if $error; +      $conf->delete('dump-email_to'); +    } +  } +  }  sub _populate_initial_data { #class method @@ -887,18 +906,22 @@ sub _populate_initial_data { #class method    eval "use FS::msg_template::InitialData;";    die $@ if $@; +  eval "use FS::upgrade_journal;"; +  die $@ if $@;    my $initial_data = FS::msg_template::InitialData->_initial_data;    foreach my $hash ( @$initial_data ) {      next if $hash->{_conf} && $conf->config( $hash->{_conf} ); +    next if $hash->{_upgrade_journal} && FS::upgrade_journal->is_done( $hash->{_upgrade_journal} );      my $msg_template = new FS::msg_template($hash);      my $error = $msg_template->insert( @{ $hash->{_insert_args} || [] } );      die $error if $error;      $conf->set( $hash->{_conf}, $msg_template->msgnum ) if $hash->{_conf}; +    FS::upgrade_journal->set_done( $hash->{_upgrade_journal} );    } diff --git a/FS/FS/msg_template/InitialData.pm b/FS/FS/msg_template/InitialData.pm index 7cf83d070..cbb9ccd8f 100644 --- a/FS/FS/msg_template/InitialData.pm +++ b/FS/FS/msg_template/InitialData.pm @@ -38,6 +38,20 @@ Amount:    {$refund}<BR>  END                        ],      }, +    { msgname   => 'System log', +      msgclass  => 'email', +      mime_type => 'text/html', +      _upgrade_journal => 'system_log_email_template', +      _insert_args => [ subject => '{ $company_name } system log', +                        body    => <<'END', +Level: {$loglevel}<BR> +Context: {$logcontext}<BR> +<BR> +{$logmessage}<BR> + +END +                      ], +    },    ];  } diff --git a/httemplate/edit/log_email.html b/httemplate/edit/log_email.html index bbce7c708..709a24069 100644 --- a/httemplate/edit/log_email.html +++ b/httemplate/edit/log_email.html @@ -18,6 +18,7 @@                              { 'field' => 'msgnum',                                'type' => 'select-msg_template',                                'empty_label' => 'Select template', +                              'value' => $msgnum,                                'required' => 1,                              },                            ], @@ -42,4 +43,14 @@ my %opts = @_;  die "access denied"    unless $FS::CurrentUser::CurrentUser->access_right([ 'View system logs', 'Configuration' ]); +my $msgnum = $cgi->param('msgnum'); +unless ($msgnum) { +  my ($msg_template) = qsearch('msg_template',{ msgname => 'System log' }); +  # doesn't seem worth having a config just for the default selected template +  # if they've deleted the system-generated one, just default to empty "Select template" +  if ($msg_template) { +    $msgnum = $msg_template->msgnum; +  } +} +  </%init> | 
