diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-12-30 01:43:16 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-12-30 01:43:16 -0800 |
commit | cb6cca67db487271ce96b49289ada58691a2067d (patch) | |
tree | 003581386f08c392c03ea7757907fa7d0992d857 /FS/FS/msg_template.pm | |
parent | 6b4a2501a75964c864467a3bf85bbba039009049 (diff) |
self-service access for contacts, RT#25533
Diffstat (limited to 'FS/FS/msg_template.pm')
-rw-r--r-- | FS/FS/msg_template.pm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/FS/FS/msg_template.pm b/FS/FS/msg_template.pm index 5885921..2fc66b4 100644 --- a/FS/FS/msg_template.pm +++ b/FS/FS/msg_template.pm @@ -559,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( @@ -697,6 +700,10 @@ Returns the L<FS::agent> object for this template. 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', '', '' ], @@ -788,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 @@ -811,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 { |