X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_bill-logo.cgi;h=85b5d720f00a8d0fd2d8d85035fff4601c9f098d;hb=8fa2d4df960414f50c33f1c0e57a9bab02db517e;hp=09ac9a717ba841cd7b9a845ac44544d1638d04ff;hpb=a4b8ce8cd1d309de00c64f38049a8dda38798046;p=freeside.git diff --git a/httemplate/view/cust_bill-logo.cgi b/httemplate/view/cust_bill-logo.cgi index 09ac9a717..85b5d720f 100755 --- a/httemplate/view/cust_bill-logo.cgi +++ b/httemplate/view/cust_bill-logo.cgi @@ -3,18 +3,30 @@ die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('View invoices') + or $FS::CurrentUser::CurrentUser->access_right('View quotations') or $FS::CurrentUser::CurrentUser->access_right('Configuration'); -my $conf = new FS::Conf; +my $conf; my $templatename; my $agentnum = ''; -if ( $cgi->param('invnum') ) { - $templatename = $cgi->param('templatename'); - my $cust_bill = qsearchs('cust_bill', { 'invnum' => $cgi->param('invnum') } ) - or die 'unknown invnum'; +if ( $cgi->param('invnum') =~ /^(\d+)$/ ) { + my $invnum = $1; + $templatename = $cgi->param('template') || $cgi->param('templatename'); + my $cust_bill = FS::cust_bill->by_key($invnum) + || FS::cust_bill_void->by_key($invnum) + || die 'unknown invnum'; + $conf = $cust_bill->conf; $agentnum = $cust_bill->cust_main->agentnum; +} elsif ( $cgi->param('quotationnum') =~ /^(\d+)$/ ) { + my $quotationnum = $1; + my $quotation = FS::quotation->by_key($quotationnum) + or die 'unknown quotationnum'; + $conf = $quotation->conf; + $agentnum = $quotation->agentnum; } else { + # assume the default config + $conf = FS::Conf->new; my($query) = $cgi->keywords; $query =~ /^([^\.\/]*)$/ or die 'illegal query'; $templatename = $1;