summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorivan <ivan>2005-05-19 08:43:27 +0000
committerivan <ivan>2005-05-19 08:43:27 +0000
commitc28a4c33a88dfa354436f81a2e213638088adcf1 (patch)
tree597383762045368e63c48f625ad3daa64c40f927 /httemplate
parentf96998102b9bdf8e730b6b55a0aa2b62afffb545 (diff)
re-email/fax/print links should respect template, also add direct re-send links like the view links and convert view/cust_bill.cgi to proper template
Diffstat (limited to 'httemplate')
-rwxr-xr-xhttemplate/misc/email-invoice.cgi9
-rwxr-xr-xhttemplate/misc/fax-invoice.cgi8
-rwxr-xr-xhttemplate/misc/print-invoice.cgi9
-rwxr-xr-xhttemplate/view/cust_bill.cgi151
4 files changed, 101 insertions, 76 deletions
diff --git a/httemplate/misc/email-invoice.cgi b/httemplate/misc/email-invoice.cgi
index a3130c79f..34afa9084 100755
--- a/httemplate/misc/email-invoice.cgi
+++ b/httemplate/misc/email-invoice.cgi
@@ -4,14 +4,17 @@ my $conf = new FS::Conf;
#untaint invnum
my($query) = $cgi->keywords;
-$query =~ /^(\d*)$/;
-my $invnum = $1;
+$query =~ /^((.+)-)?(\d+)$/;
+my $template = $2;
+my $invnum = $3;
my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});
die "Can't find invoice!\n" unless $cust_bill;
my $error = send_email(
$cust_bill->generate_email(
- 'from' => $cust_bill->_agent_invoice_from || $conf->config('invoice_from'),
+ 'from' =>
+ ( $cust_bill->_agent_invoice_from || $conf->config('invoice_from') ),
+ 'template' => $template,
)
);
eidiot($error) if $error;
diff --git a/httemplate/misc/fax-invoice.cgi b/httemplate/misc/fax-invoice.cgi
index 46b2a1721..d490b8e79 100755
--- a/httemplate/misc/fax-invoice.cgi
+++ b/httemplate/misc/fax-invoice.cgi
@@ -5,15 +5,15 @@ my $lpr = $conf->config('lpr');
#untaint invnum
my($query) = $cgi->keywords;
-$query =~ /^(\d*)$/;
-my $invnum = $1;
+$query =~ /^((.+)-)?(\d+)$/;
+my $template = $2;
+my $invnum = $3;
my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});
die "Can't find invoice!\n" unless $cust_bill;
-
my $error = &FS::Misc::send_fax(
dialstring => $cust_bill->cust_main->getfield('fax'),
- docdata => [ $cust_bill->print_ps ],
+ docdata => [ $cust_bill->print_ps('', $template) ],
);
die $error if $error;
diff --git a/httemplate/misc/print-invoice.cgi b/httemplate/misc/print-invoice.cgi
index 144f6156a..5eeef3482 100755
--- a/httemplate/misc/print-invoice.cgi
+++ b/httemplate/misc/print-invoice.cgi
@@ -5,17 +5,18 @@ my $lpr = $conf->config('lpr');
#untaint invnum
my($query) = $cgi->keywords;
-$query =~ /^(\d*)$/;
-my $invnum = $1;
+$query =~ /^((.+)-)?(\d+)$/;
+my $template = $2;
+my $invnum = $3;
my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum});
die "Can't find invoice!\n" unless $cust_bill;
open(LPR,"|$lpr") or die "Can't open $lpr: $!";
if ( $conf->exists('invoice_latex') ) {
- print LPR $cust_bill->print_ps; #( date )
+ print LPR $cust_bill->print_ps('', $template); #( date )
} else {
- print LPR $cust_bill->print_text; #( date )
+ print LPR $cust_bill->print_text('', $template); #( date )
}
close LPR
diff --git a/httemplate/view/cust_bill.cgi b/httemplate/view/cust_bill.cgi
index 5dd8a8d71..9282b7089 100755
--- a/httemplate/view/cust_bill.cgi
+++ b/httemplate/view/cust_bill.cgi
@@ -1,4 +1,3 @@
-<!-- mason kludge -->
<%
#untaint invnum
@@ -15,76 +14,98 @@ my $custnum = $cust_bill->getfield('custnum');
#my $printed = $cust_bill->printed;
-print header('Invoice View', menubar(
+my $link = $templatename ? "$templatename-$invnum" : $invnum;
+
+%>
+<%= header('Invoice View', menubar(
"Main Menu" => $p,
"View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum",
-));
-
-print qq!<A HREF="${p}edit/cust_pay.cgi?$invnum">Enter payments (check/cash) against this invoice</A> | !
- if $cust_bill->owed > 0;
-
-print qq!<A HREF="${p}misc/print-invoice.cgi?$invnum">Reprint this invoice</A>!;
-if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) {
- print qq! | <A HREF="${p}misc/email-invoice.cgi?$invnum">!.
- qq!Re-email this invoice</A>!;
-}
-
-print qq! | <A HREF="${p}misc/fax-invoice.cgi?$invnum">Refax this invoice</A>!
- if ($conf->exists('hylafax'));
-
-print '<BR><BR>';
-
-if ( $conf->exists('invoice_latex') ) {
- my $link = "${p}view/cust_bill-pdf.cgi?";
- $link .= "$templatename-" if $templatename;
- $link .= "$invnum.pdf";
- print menubar(
- 'View typeset invoice' => $link,
- ), '<BR><BR>';
-}
-
-#false laziness with search/cust_bill_event.cgi
-
-unless ( $templatename ) {
- print table(). '<TR><TH>Event</TH><TH>Date</TH><TH>Status</TH></TR>';
- foreach my $cust_bill_event (
- sort { $a->_date <=> $b->_date } $cust_bill->cust_bill_event
- ) {
+)) %>
+
+<% if ( $cust_bill->owed > 0 ) { %>
+ <A HREF="<%= $p %>edit/cust_pay.cgi?<%= $invnum %>">Enter payments (check/cash) against this invoice</A> |
+<% } %>
+
+<A HREF="<%= $p %>misc/print-invoice.cgi?<%= $link %>">Reprint this invoice</A>
+
+<% if ( grep { $_ ne 'POST' } $cust_bill->cust_main->invoicing_list ) { %>
+ | <A HREF="<%= $p %>misc/email-invoice.cgi?<%= $link %>">Re-email
+ this invoice</A>
+<% } %>
+
+<% if ( $conf->exists('hylafax') && length($cust_bill->cust_main->fax) ) { %>
+ | <A HREF="<%= $p %>misc/fax-invoice.cgi?<%= $link %>">Re-fax
+ this invoice</A>
+<% } %>
+
+<BR><BR>
+
+<% if ( $conf->exists('invoice_latex') ) { %>
+ <A HREF="<%= $p %>view/cust_bill-pdf.cgi?$link.pdf">View typeset invoice</A>
+ <BR><BR>
+<% } %>
+
+<% #false laziness with search/cust_bill_event.cgi
+ unless ( $templatename ) { %>
+
+ <%= table() %>
+ <TR>
+ <TH>Event</TH>
+ <TH>Date</TH>
+ <TH>Status</TH>
+ </TR>
+
+ <% foreach my $cust_bill_event (
+ sort { $a->_date <=> $b->_date } $cust_bill->cust_bill_event
+ ) {
+
my $status = $cust_bill_event->status;
$status .= ': '. encode_entities($cust_bill_event->statustext)
if $cust_bill_event->statustext;
my $part_bill_event = $cust_bill_event->part_bill_event;
- print '<TR><TD>'. $part_bill_event->event;
+ %>
+ <TR>
+ <TD><%= $part_bill_event->event %>
- if (
- $part_bill_event->plan eq 'send_alternate'
- && $part_bill_event->plandata =~ /^templatename (.*)$/m
- ) {
- my $templatename = $1;
- print qq! ( <A HREF="${p}view/cust_bill.cgi?$templatename-$invnum">!.
- 'view</A> | '.
- qq!<A HREF="${p}view/cust_bill-pdf.cgi?$templatename-$invnum.pdf">!.
- 'view typeset</A> )';
- }
+ <% if (
+ $part_bill_event->plan eq 'send_alternate'
+ && $part_bill_event->plandata =~ /^(agent_)?templatename (.*)$/m
+ ) {
+ my $alt_templatename = $2;
+ my $alt_link = "$templatename-$invnum";
+ %>
+ ( <A HREF="<%= $p %>view/cust_bill.cgi?<%= $alt_link %>">view</A>
+ | <A HREF="<%= $p %>view/cust_bill-pdf.cgi?<%= $alt_link %>.pdf">view
+ typeset</A>
+ | <A HREF="<%= $p %>misc/print-invoice.cgi?<%= $alt_link %>">re-print</A>
+ <% if ( grep { $_ ne 'POST' }
+ $cust_bill->cust_main->invoicing_list ) { %>
+ | <A HREF="<%= $p %>misc/email-invoice.cgi?<%= $alt_link %>">re-email</A>
+ <% } %>
+
+ <% if ( $conf->exists('hylafax')
+ && length($cust_bill->cust_main->fax) ) { %>
+ | <A HREF="<%= $p %>misc/fax-invoice.cgi?<%= $alt_link %>">re-fax</A>
+ <% } %>
+
+ )
+ <% } %>
- print '</TD><TD>'.
- time2str("%a %b %e %T %Y", $cust_bill_event->_date). '</TD><TD>'.
- $status. '</TD></TR>';
- }
- print '</TABLE><BR>';
-}
-
-if ( $conf->exists('invoice_html') ) {
- print $cust_bill->print_html('', $templatename);
-} else {
- print '<PRE>', $cust_bill->print_text('', $templatename), '</PRE>';
-}
-
- #formatting
- print <<END;
- </FONT>
- </BODY>
-</HTML>
-END
+ </TD>
+ <TD><%= time2str("%a %b %e %T %Y", $cust_bill_event->_date) %></TD>
+ <TD><%= $status %></TD>
+ </TR>
+ <% } %>
-%>
+ </TABLE>
+ <BR>
+
+<% } %>
+
+<% if ( $conf->exists('invoice_html') ) { %>
+ <%= $cust_bill->print_html('', $templatename) %>
+<% } else { %>
+ <PRE><%= $cust_bill->print_text('', $templatename) %></PRE>
+<% } %>
+
+</BODY></HTML>