From 77783e2521b98f0ca76ebe953873fbdc7cc51e98 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Tue, 7 Jan 2014 11:48:58 -0800 Subject: [PATCH] correctly pass arguments when manually re-emailing/printing invoices, #26076 --- FS/FS/cust_bill.pm | 8 ++++---- FS/FS/cust_event.pm | 12 +++++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index cdce7be47..1569ef48c 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -1396,7 +1396,7 @@ sub email { my $self = shift; return if $self->hide; my $conf = $self->conf; - my $opt = shift; + my $opt = shift || {}; if ($opt and !ref($opt)) { die "FS::cust_bill::email called with positional parameters"; } @@ -1471,7 +1471,7 @@ I, if specified, overrides "Invoice" as the name of the sent docume sub lpr_data { my $self = shift; my $conf = $self->conf; - my $opt = shift; + my $opt = shift || {}; if ($opt and !ref($opt)) { # nobody does this anyway die "FS::cust_bill::lpr_data called with positional parameters"; @@ -1497,7 +1497,7 @@ sub print { my $self = shift; return if $self->hide; my $conf = $self->conf; - my $opt = shift; + my $opt = shift || {}; if ($opt and !ref($opt)) { die "FS::cust_bill::print called with positional parameters"; } @@ -1532,7 +1532,7 @@ sub fax_invoice { my $self = shift; return if $self->hide; my $conf = $self->conf; - my $opt = shift; + my $opt = shift || {}; if ($opt and !ref($opt)) { die "FS::cust_bill::fax_invoice called with positional parameters"; } diff --git a/FS/FS/cust_event.pm b/FS/FS/cust_event.pm index 6a67c087b..78d421770 100644 --- a/FS/FS/cust_event.pm +++ b/FS/FS/cust_event.pm @@ -479,9 +479,15 @@ sub re_X { my $cust_X = $cust_event->cust_X; # cust_bill next unless $cust_X->can($method); - $cust_X->$method( $cust_event->part_event->templatename - || $cust_X->agent_template - ); + my $part_event = $cust_event->part_event; + my $template = $part_event->templatename + || $cust_X->agent_template; + my $modenum = $part_event->option('modenum') || ''; + my $invoice_from = $part_event->option('agent_invoice_from') || ''; + $cust_X->set('mode' => $modenum); + $cust_X->$method( { template => $template, + modenum => $modenum, + invoice_from => $invoice_from } ); if ( $job ) { #progressbar foo $num++; -- 2.11.0