projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b48b0ea
)
RT# 38217 FS::msg_template, cust_main is optional to render template
author
Mitch Jackson
<mitch@mitchjacksontech.com>
Tue, 9 Oct 2018 18:02:15 +0000
(14:02 -0400)
committer
Mitch Jackson
<mitch@freeside.biz>
Tue, 9 Oct 2018 18:04:09 +0000
(14:04 -0400)
FS/FS/msg_template.pm
patch
|
blob
|
history
diff --git
a/FS/FS/msg_template.pm
b/FS/FS/msg_template.pm
index
0018a45
..
13c8d9c
100644
(file)
--- a/
FS/FS/msg_template.pm
+++ b/
FS/FS/msg_template.pm
@@
-239,7
+239,7
@@
Options are passed as a list of name/value pairs:
=item cust_main
=item cust_main
-Customer object
+Customer object
(optional)
=item object
=item object
@@
-280,13
+280,18
@@
sub prepare {
my $cust_main = $opt{'cust_main'}; # or die 'cust_main required';
my $object = $opt{'object'}; # or die 'object required';
my $cust_main = $opt{'cust_main'}; # or die 'cust_main required';
my $object = $opt{'object'}; # or die 'object required';
- # localization
- my $locale = $cust_main->locale || '';
+ my $locale = $cust_main ? $cust_main->locale : '';
+
warn "no locale for cust#".$cust_main->custnum."; using default content\n"
warn "no locale for cust#".$cust_main->custnum."; using default content\n"
- if $DEBUG and !$locale;
- my $content = $self->content($cust_main->locale);
- warn "preparing template '".$self->msgname."' to cust#".$cust_main->custnum."\n"
- if($DEBUG);
+ if $DEBUG and $cust_main and !$locale;
+
+ my $content = $self->content( $locale );
+
+ warn sprintf(
+ "preparing template '%s' to cust#%s\n",
+ $self->msgname,
+ $cust_main ? $cust_main->custnum : 'none'
+ ) if $DEBUG;
my $subs = $self->substitutions;
my $subs = $self->substitutions;
@@
-294,8
+299,11
@@
sub prepare {
# create substitution table
###
my %hash;
# create substitution table
###
my %hash;
- my @objects = ($cust_main);
- my @prefixes = ('');
+ my ( @objects, @prefixes );
+ if ( $cust_main ) {
+ @objects = ( $cust_main );
+ @prefixes = ( '' );
+ }
my $svc;
if( ref $object ) {
if( ref($object) eq 'ARRAY' ) {
my $svc;
if( ref $object ) {
if( ref($object) eq 'ARRAY' ) {
@@
-407,11
+415,11
@@
sub prepare {
my $from_addr = $self->from_addr;
if ( !$from_addr ) {
my $from_addr = $self->from_addr;
if ( !$from_addr ) {
+ my @agentnum = ( $cust_main->agentnum ) if $cust_main;
if ( $opt{'from_config'} ) {
if ( $opt{'from_config'} ) {
- $from_addr = scalar( $conf->config($opt{'from_config'},
- $cust_main->agentnum) );
+ $from_addr = scalar( $conf->config( $opt{'from_config'}, @agentnum ));
}
}
- $from_addr ||= $conf->invoice_from_full(
$cust_main->agentnum
);
+ $from_addr ||= $conf->invoice_from_full(
@agentnum
);
}
# my @cust_msg = ();
# if ( $conf->exists('log_sent_mail') and !$opt{'preview'} ) {
}
# my @cust_msg = ();
# if ( $conf->exists('log_sent_mail') and !$opt{'preview'} ) {
@@
-429,11
+437,11
@@
sub prepare {
->format( HTML::TreeBuilder->new_from_content($body) )
);
(
->format( HTML::TreeBuilder->new_from_content($body) )
);
(
- 'custnum'
=> $cust_main->custnum
,
- 'msgnum' => $self->msgnum,
- 'from' => $from_addr,
- 'to' => \@to,
- 'bcc' => $self->bcc_addr || undef,
+ 'custnum'
=> $cust_main ? $cust_main->custnum : undef
,
+ 'msgnum'
=> $self->msgnum,
+ 'from'
=> $from_addr,
+ 'to'
=> \@to,
+ 'bcc'
=> $self->bcc_addr || undef,
'subject' => $subject,
'html_body' => $body,
'text_body' => $text_body,
'subject' => $subject,
'html_body' => $body,
'text_body' => $text_body,