summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2009-07-13 09:19:03 +0000
committerivan <ivan>2009-07-13 09:19:03 +0000
commit1b1f1cad5549a587ca45df9770e316158872cbf0 (patch)
tree059ef96b290e4f9aae95ee76c642ca000f445f3d
parentef5ca981340ba4d9077be3eebdcf527824868dfe (diff)
fix self-service agent-specific logos
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm11
-rw-r--r--fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi14
2 files changed, 19 insertions, 6 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index d297cf9f5..c643b3683 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -555,7 +555,14 @@ sub invoice_logo {
#sessioning for this? how do we get the session id to the backend invoice
# template so it can add it to the link, blah
- my $templatename = $p->{'templatename'};
+ my $agentnum = '';
+ if ( $p->{'invnum'} ) {
+ my $cust_bill = qsearchs('cust_bill', { 'invnum' => $p->{'invnum'} } )
+ or return { 'error' => 'unknown invnum' };
+ $agentnum = $cust_bill->cust_main->agentnum;
+ }
+
+ my $templatename = $p->{'template'} || $p->{'templatename'};
#false laziness-ish w/view/cust_bill-logo.cgi
@@ -569,7 +576,7 @@ sub invoice_logo {
my $filename = "logo$templatename.png";
return { 'error' => '',
- 'logo' => $conf->config_binary($filename),
+ 'logo' => $conf->config_binary($filename, $agentnum),
'content_type' => 'image/png', #should allow gif, jpg too
};
}
diff --git a/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi b/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi
index 5f344a32e..253f853f8 100644
--- a/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi
+++ b/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi
@@ -7,10 +7,16 @@ use FS::SelfService qw( invoice_logo );
my $cgi = new CGI;
-my($query) = $cgi->keywords;
-$query =~ /^([^\.\/]*)$/ or '' =~ /^()$/;
-my $templatename = $1;
-my $hashref = invoice_logo('templatename' => $templatename);
+my %hash = ();
+if ( $cgi->param('invnum') ) {
+ $hash{$_} = scalar($cgi->param($_)) foreach qw( invnum template );
+} else {
+ my($query) = $cgi->keywords;
+ $query =~ /^([^\.\/]*)$/ or '' =~ /^()$/;
+ $hash{'template'} = $1;
+}
+
+my $hashref = invoice_logo(%hash);
print $cgi->header( '-type' => $hashref->{'content_type'},
'-expires' => 'now',