X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fmsg_template.pm;h=2fc66b478a5ceee6dad66430da33b1c6552234a7;hb=cb6cca67db487271ce96b49289ada58691a2067d;hp=4e1f4da2407d9b8cd5430862f38e6234d13604b6;hpb=36ad5e538cb56de33c779e34baf9abdf63c4312e;p=freeside.git diff --git a/FS/FS/msg_template.pm b/FS/FS/msg_template.pm index 4e1f4da24..2fc66b478 100644 --- a/FS/FS/msg_template.pm +++ b/FS/FS/msg_template.pm @@ -1,8 +1,19 @@ package FS::msg_template; +use base qw( FS::Record ); use strict; -use base qw( FS::Record ); +use vars qw( $DEBUG $conf ); + +use Date::Format qw( time2str ); +use File::Temp; +use IPC::Run qw(run); use Text::Template; + +use HTML::Entities qw( decode_entities encode_entities ) ; +use HTML::FormatText; +use HTML::TreeBuilder; +use Encode; + use FS::Misc qw( generate_email send_email do_print ); use FS::Conf; use FS::Record qw( qsearch qsearchs ); @@ -12,16 +23,6 @@ use FS::cust_main; use FS::cust_msg; use FS::template_content; -use Date::Format qw( time2str ); -use HTML::Entities qw( decode_entities encode_entities ) ; -use HTML::FormatText; -use HTML::TreeBuilder; -use Encode; - -use File::Temp; -use IPC::Run qw(run); -use vars qw( $DEBUG $conf ); - FS::UID->install_callback( sub { $conf = new FS::Conf; } ); $DEBUG=0; @@ -558,6 +559,9 @@ sub substitutions { [ company_phonenum => sub { $conf->config('company_phonenum', shift->agentnum) } ], + [ selfservice_server_base_url => sub { + $conf->config('selfservice_server-base_url') #, shift->agentnum) + } ], ], # next_bill_date 'cust_pkg' => [qw( @@ -693,13 +697,13 @@ Returns the L object for this template. =cut -sub agent { - qsearchs('agent', { 'agentnum' => $_[0]->agentnum }); -} - sub _upgrade_data { my ($self, %opts) = @_; + ### + # First move any historical templates in config to real message templates + ### + my @fixes = ( [ 'alerter_msgnum', 'alerter_template', '', '', '' ], [ 'cancel_msgnum', 'cancelmessage', 'cancelsubject', '', '' ], @@ -791,6 +795,11 @@ sub _upgrade_data { } # if alerter_msgnum } + + ### + # Move subject and body from msg_template to template_content + ### + foreach my $msg_template ( qsearch('msg_template', {}) ) { if ( $msg_template->subject || $msg_template->body ) { # create new default content @@ -814,6 +823,35 @@ sub _upgrade_data { die $error if $error; } } + + ### + # Add new-style default templates if missing + ### + $self->_populate_initial_data; + +} + +sub _populate_initial_data { #class method + #my($class, %opts) = @_; + #my $class = shift; + + eval "use FS::msg_template::InitialData;"; + die $@ if $@; + + my $initial_data = FS::msg_template::InitialData->_initial_data; + + foreach my $hash ( @$initial_data ) { + + next if $hash->{_conf} && $conf->config( $hash->{_conf} ); + + 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}; + + } + } sub eviscerate {