1 % if ( $link eq 'popup' ) {
3 <& /elements/header-popup.html, mt('Refund Receipt') &>
6 <A HREF="javascript:self.parent.location = '<% $pr_link %>'"><% mt('Print') |h %></A>
7 % if ( $cust_main->invoicing_list_emailonly ) {
8 | <A HREF="javascript:self.location = '<% $email_link %>'"><% mt('Email') |h %></A>
12 % } elsif ( $link eq 'print' ) {
14 <& /elements/header-popup.html, mt('Refund Receipt') &>
16 % #it would be nice if the menubar could be hidden for print, but better to
17 % # have it available than not, otherwise the user winds up at a dead end
19 emt("View this customer (#[_1])",$display_custnum) => "${p}view/cust_main.cgi?$custnum",
24 % } elsif ( $link eq 'email' ) {
25 % if ( $email_error ) {
26 <& /elements/header-popup.html, mt("Error re-emailing receipt: [_1]", $email_error) &>
28 <& /elements/header-popup.html, mt("Re-emailed receipt") &>
32 <& /elements/header.html, mt('Refund Receipt'), menubar(
33 emt("View this customer (#[_1])",$display_custnum) => "${p}view/cust_main.cgi?$custnum",
34 emt('Print receipt') => $pr_link,
40 % unless ($link =~ /^(popup|email)$/ ) {
41 <& /elements/small_custview.html,
43 scalar($conf->config('countrydefault')),
49 <% ntable("#cccccc", 2) %>
52 <TD ALIGN="right"><% mt('Refund #') |h %></TD>
53 <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->refundnum %></B></TD>
57 <TD ALIGN="right"><% mt('Date') |h %></TD>
58 <TD BGCOLOR="#FFFFFF"><B><% time2str"%a %b %o, %Y %r", $cust_refund->_date %></B></TD>
62 <TD ALIGN="right"><% mt('Amount') |h %></TD>
63 <TD BGCOLOR="#FFFFFF"><B><% $money_char. $cust_refund->refund %></B></TD>
67 <TD ALIGN="right"><% mt('Reason') |h %></TD>
68 <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->reason %></B></TD>
72 <TD ALIGN="right"><% mt('Refund method') |h %></TD>
73 <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->payby_name %><% $cust_refund->paymask ? ' #'.$cust_refund->paymask : '' %></B></TD>
76 % if ( $cust_refund->payby =~ /^(CARD|CHEK|LECB)$/ && $cust_refund->processor ) {
79 <TD ALIGN="right"><% mt('Processor') |h %></TD>
80 <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->processor %></B></TD>
84 <TD ALIGN="right"><% mt('Authorization #') |h %></TD>
85 <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->auth %></B></TD>
88 % if ( $cust_refund->order_number ) {
90 <TD ALIGN="right"><% mt('Order #') |h %></TD>
91 <TD BGCOLOR="#FFFFFF"><B><% $cust_refund->order_number %></B></TD>
99 % if ( $link eq 'print' ) {
101 <SCRIPT TYPE="text/javascript">
105 % } elsif ( $link eq 'email' ) {
107 <SCRIPT TYPE="text/javascript">
108 window.top.location.reload();
112 % if ( $link =~ /^(popup|print|email)$/ ) {
116 <& /elements/footer.html &>
121 my $curuser = $FS::CurrentUser::CurrentUser;
124 unless $curuser->access_right('View invoices') #remove this in 2.5 (2.7?)
125 || $curuser->access_right('View refunds');
127 $cgi->param('refundnum') =~ /^(\d+)$/ or die "no refundnum";
131 if ( $cgi->param('link') =~ /^(\w+)$/ ) {
135 my $cust_refund = qsearchs({
136 'select' => 'cust_refund.*',
137 'table' => 'cust_refund',
138 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )',
139 'hashref' => { 'refundnum' => $refundnum },
140 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
142 die "Refund #$refundnum not found!" unless $cust_refund;
144 my $cust_main = $cust_refund->cust_main;
146 my $pr_link = "${p}view/cust_refund.html?link=print;refundnum=$refundnum";
147 my $email_link = "${p}view/cust_refund.html?link=email;refundnum=$refundnum";
149 my $custnum = $cust_refund->custnum;
150 my $display_custnum = $cust_main->display_custnum;
152 my $conf = new FS::Conf;
154 my $money_char = $conf->config('money_char') || '$';
156 tie my %payby, 'Tie::IxHash', FS::payby->payby2longname;
160 if ( $link eq 'email' ) {
161 $email_error = $cust_refund->send_receipt( 'cust_main' => $cust_main );
162 warn "can't send refund receipt: $email_error" if $email_error;