[freeside-commits] branch master updated. 9dc878dba30e6d93ab914f0d2502f3527428b057
Jonathan Prykop
jonathan at 420.am
Wed Dec 23 19:47:24 PST 2015
The branch, master has been updated
via 9dc878dba30e6d93ab914f0d2502f3527428b057 (commit)
from e1aa1019e11d7a73fcf90a87dd59c71ed90adce5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9dc878dba30e6d93ab914f0d2502f3527428b057
Author: Jonathan Prykop <jonathan at freeside.biz>
Date: Wed Dec 23 21:46:53 2015 -0600
RT#38217 Send email when logging conditions are met [default template & dump-email_to upgrade]
diff --git a/FS/FS/msg_template.pm b/FS/FS/msg_template.pm
index 7d9750c..978d713 100644
--- a/FS/FS/msg_template.pm
+++ b/FS/FS/msg_template.pm
@@ -803,6 +803,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
@@ -811,18 +830,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 baf145d..29dd417 100644
--- a/FS/FS/msg_template/InitialData.pm
+++ b/FS/FS/msg_template/InitialData.pm
@@ -39,6 +39,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 bbce7c7..709a240 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>
-----------------------------------------------------------------------
Summary of changes:
FS/FS/msg_template.pm | 23 +++++++++++++++++++++++
FS/FS/msg_template/InitialData.pm | 14 ++++++++++++++
httemplate/edit/log_email.html | 11 +++++++++++
3 files changed, 48 insertions(+)
More information about the freeside-commits
mailing list