stray closing /TABLE in the no-ticket case
[freeside.git] / httemplate / view / cust_refund.html
index 7f6a34f..d5f5eb2 100644 (file)
@@ -2,7 +2,12 @@
 
   <& /elements/header-popup.html, mt('Refund Receipt') &>
 
-  <CENTER><A HREF="javascript:self.parent.location = '<% $pr_link %>'"><% mt('Print') |h %></A></CENTER><BR>
+  <DIV ALIGN="center">
+    <A HREF="javascript:self.parent.location = '<% $pr_link %>'"><% mt('Print') |h %></A>
+%   if ( $cust_main->invoicing_list_emailonly ) {
+    | <A HREF="javascript:self.location = '<% $email_link %>'"><% mt('Email') |h %></A>
+%   }
+  </DIV>
 
 % } elsif ( $link eq 'print' ) { 
 
 % #it would be nice if the menubar could be hidden for print, but better to
 % # have it available than not, otherwise the user winds up at a dead end
   <% menubar(
-       mt("View this customer (#[_1])",$display_custnum) => "${p}view/cust_main.cgi?$custnum",
+       emt("View this customer (#[_1])",$display_custnum) => "${p}view/cust_main.cgi?$custnum",
      )
   %>
   <BR><BR>
 
+% } elsif ( $link eq 'email' ) {
+%  if ( $email_error ) {
+      <& /elements/header-popup.html, mt("Error re-emailing receipt: [_1]", $email_error) &>
+%  } else {
+      <& /elements/header-popup.html, mt("Re-emailed receipt") &>
+%  }
 % } else { 
 
   <& /elements/header.html, mt('Refund Receipt'), menubar(
-       mt("View this customer (#[_1])",$display_custnum) => "${p}view/cust_main.cgi?$custnum",
-       mt('Print receipt') => $pr_link,
+       emt("View this customer (#[_1])",$display_custnum) => "${p}view/cust_main.cgi?$custnum",
+       emt('Print receipt') => $pr_link,
      )
   &>
 
 % }
 
-% unless ($link eq 'popup' ) {
+% unless ($link =~ /^(popup|email)$/ ) {
   <& /elements/small_custview.html,
                $custnum,
                scalar($conf->config('countrydefault')),
@@ -62,7 +73,7 @@
   <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->payby_name %><% $cust_refund->paymask ? ' #'.$cust_refund->paymask : '' %></B></TD>
 </TR>
 
-% if ( $cust_refund->payby =~ /^(CARD|CHEK|LECB)$/ && $cust_refund->paybatch ) { 
+% if ( $cust_refund->payby =~ /^(CARD|CHEK|LECB)$/ && $cust_refund->processor ) { 
 
     <TR>
       <TD ALIGN="right"><% mt('Processor') |h %></TD>
@@ -71,7 +82,7 @@
 
     <TR>
       <TD ALIGN="right"><% mt('Authorization #') |h %></TD>
-      <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->authorization %></B></TD>
+      <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->auth %></B></TD>
     </TR>
 
 %   if ( $cust_refund->order_number ) {
     window.print();
   </SCRIPT>
 
-% }
+% } elsif ( $link eq 'email' ) {
+
+    <SCRIPT TYPE="text/javascript">
+      window.top.location.reload();
+    </SCRIPT>
 
-% if ( $link =~ /^(popup|print)$/ ) { 
+% }
+% if ( $link =~ /^(popup|print|email)$/ ) { 
     </BODY>
   </HTML>
 % } else {
 my $curuser = $FS::CurrentUser::CurrentUser;
 
 die "access denied"
-  unless $curuser->access_right('View invoices') #remove this in 1.9 EVENTUALLY
-      || $curuser->access_right('View customer payments');
-      #'View customer refunds' ???
-
+  unless $curuser->access_right('View invoices') #remove this in 2.5 (2.7?)
+      || $curuser->access_right('View refunds');
 
 $cgi->param('refundnum') =~ /^(\d+)$/ or die "no refundnum";
 my $refundnum = $1;
@@ -127,10 +141,13 @@ my $cust_refund = qsearchs({
 });
 die "Refund #$refundnum not found!" unless $cust_refund;
 
+my $cust_main = $cust_refund->cust_main;
+
 my $pr_link = "${p}view/cust_refund.html?link=print;refundnum=$refundnum";
+my $email_link = "${p}view/cust_refund.html?link=email;refundnum=$refundnum";
 
 my $custnum = $cust_refund->custnum;
-my $display_custnum = $cust_refund->cust_main->display_custnum;
+my $display_custnum = $cust_main->display_custnum;
 
 my $conf = new FS::Conf;
 
@@ -138,4 +155,11 @@ my $money_char = $conf->config('money_char') || '$';
 
 tie my %payby, 'Tie::IxHash', FS::payby->payby2longname;
 
+my $email_error;
+
+if ( $link eq 'email' ) {
+    $email_error = $cust_refund->send_receipt( 'cust_main' => $cust_main );
+    warn "can't send refund receipt: $email_error" if $email_error;
+}
+
 </%init>