diff options
author | ivan <ivan> | 2006-08-09 06:34:26 +0000 |
---|---|---|
committer | ivan <ivan> | 2006-08-09 06:34:26 +0000 |
commit | b58e61ac7df612f606c3e68371265e790e0be585 (patch) | |
tree | fb682813e895d0db7e8bd8814b847cd2c1c2e03d | |
parent | 5d133672add54fb6bdd6690cdd9ca386d7a44a10 (diff) |
self-service interface: move from text to html invoices
-rw-r--r-- | FS/FS/ClientAPI/MyAccount.pm | 27 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/SelfService.pm | 1 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi | 18 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/view_invoice.html | 4 |
4 files changed, 47 insertions, 3 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 4b67f53af..163718e13 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -414,10 +414,37 @@ sub invoice { return { 'error' => '', 'invnum' => $invnum, 'invoice_text' => join('', $cust_bill->print_text ), + 'invoice_html' => $cust_bill->print_html, }; } +sub invoice_logo { + my $p = shift; + + #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'}; + + #false laziness-ish w/view/cust_bill-logo.cgi + + my $conf = new FS::Conf; + if ( $templatename =~ /^([^\.\/]*)$/ && $conf->exists("logo_$1.png") ) { + $templatename = "_$1"; + } else { + $templatename = ''; + } + + my $filename = "logo$templatename.png"; + + return { 'error' => '', + 'logo' => $conf->config_binary($filename), + 'content_type' => 'image/png', #should allow gif, jpg too + }; +} + + sub list_invoices { my $p = shift; my $session = _cache->get($p->{'session_id'}) diff --git a/fs_selfservice/FS-SelfService/SelfService.pm b/fs_selfservice/FS-SelfService/SelfService.pm index bfce1287b..16ca48ec8 100644 --- a/fs_selfservice/FS-SelfService/SelfService.pm +++ b/fs_selfservice/FS-SelfService/SelfService.pm @@ -27,6 +27,7 @@ $socket .= '.'.$tag if defined $tag && length($tag); 'customer_info' => 'MyAccount/customer_info', 'edit_info' => 'MyAccount/edit_info', #add to ss cgi! 'invoice' => 'MyAccount/invoice', + 'invoice_logo' => 'MyAccount/invoice_logo', 'list_invoices' => 'MyAccount/list_invoices', #? 'cancel' => 'MyAccount/cancel', #add to ss cgi! 'payment_info' => 'MyAccount/payment_info', diff --git a/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi b/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi new file mode 100644 index 000000000..bf82a87e8 --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/cust_bill-logo.cgi @@ -0,0 +1,18 @@ +#!/usr/bin/perl -Tw + +use strict; +use CGI; +use FS::SelfService qw( invoice_logo ); + +$cgi = new CGI; + +my($query) = $cgi->keywords; +$query =~ /^([^\.\/]*)$/ or '' =~ /^()$/; +my $templatename = $1; +invoice_logo($templatename); + +print $cgi->header( '-type' => $content_type, + '-expires' => 'now', + ). + $logo; + diff --git a/fs_selfservice/FS-SelfService/cgi/view_invoice.html b/fs_selfservice/FS-SelfService/cgi/view_invoice.html index 72d061980..ad2f4f419 100644 --- a/fs_selfservice/FS-SelfService/cgi/view_invoice.html +++ b/fs_selfservice/FS-SelfService/cgi/view_invoice.html @@ -4,9 +4,7 @@ <%= include('myaccount_menu') %> <TD VALIGN="top"> -<FONT SIZE="-1"><PRE> -<%= $invoice_text %> -</FONT></PRE> +<%= $invoice_html %> </TD></TR></TABLE> <HR> |