-<% $pre %>Credit<% $post %>
-by <% $cust_credit->otaker %><% "$reason$desc$apply$delete$unapply" %>
+<% $credit %>
+<% "$reason$desc$apply$delete$unapply" %>
<%init>
my( $cust_credit, %opt ) = @_;
+my $date_format = $opt{'date_format'} || '%m/%d/%Y';
+
+my $conf = new FS::Conf;
+my $money_char = $conf->config('money_char') || '$';
my $curuser = $FS::CurrentUser::CurrentUser;
my @cust_credit_bill = $cust_credit->cust_credit_bill;
my @cust_credit_refund = $cust_credit->cust_credit_refund;
-my( $pre, $post, $desc, $apply, $ext ) = ( '', '', '', '', '' );
+my $desc = '';
+if ( $opt{'pkg-balances'} && $cust_credit->pkgnum ) {
+ my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $cust_credit->pkgnum } );
+ $desc .= ' for '. $cust_pkg->pkg_label_long;
+}
+
+my %cust_credit_bill_width = ('width' => 392);
+my %cust_credit_bill_height = ();
+if ($conf->exists('cust_credit_bill_pkg-manual')) {
+ %cust_credit_bill_width = ('width' => 592);
+ %cust_credit_bill_height = ('height' => 436);
+}
+
+my( $apply, $ext ) = ( '', '', '', '' );
+my $credit = emt("Credit by [_1]", $cust_credit->otaker );
if ( scalar(@cust_credit_bill) == 0
&& scalar(@cust_credit_refund) == 0 ) {
#completely unapplied
- $pre = '<B><FONT COLOR="#FF0000">Unapplied ';
- $post = '</FONT></B>';
+ $credit = '<B><FONT COLOR="#FF0000">'
+ . emt("Unapplied Credit by [_1]", $cust_credit->otaker )
+ . '</FONT></B>';
if ( $curuser->access_right('Apply credit') ) {
- $apply = ' ('. include( '/elements/popup_link.html',
- 'label' => 'apply',
- 'action' => "${p}edit/cust_credit_bill.cgi?".
- $cust_credit->crednum,
- 'actionlabel' => 'Apply credit',
- 'width' => 392,
- #default# 'height' => 336,
- ).
- ')';
- #XXX if there are any open refunds
- $apply.= ' ('. include( '/elements/popup_link.html',
- 'label' => 'apply to refund',
- 'action' => "${p}edit/cust_credit_refund.cgi?".
- $cust_credit->crednum,
- 'actionlabel' => 'Apply credit to refund',
- 'width' => 392,
- #default# 'height' => 336,
- ).
- ')';
+ if ( $cust_credit->cust_main->total_owed > 0 ) {
+ $apply = ' ('.
+ include( '/elements/popup_link.html',
+ 'label' => emt('apply'),
+ 'action' => "${p}edit/cust_credit_bill.cgi?".
+ $cust_credit->crednum,
+ 'actionlabel' => emt('Apply credit'),
+ %cust_credit_bill_width,
+ %cust_credit_bill_height,
+ ).
+ ')';
+ }
+ if ( $cust_credit->cust_main->total_unapplied_refunds > 0 ) {
+ $apply.= ' ('.
+ include( '/elements/popup_link.html',
+ 'label' => emt('apply to refund'),
+ 'action' => "${p}edit/cust_credit_refund.cgi?".
+ $cust_credit->crednum,
+ 'actionlabel' => emt('Apply credit to refund'),
+ 'width' => 392,
+ ).
+ ')';
+ }
}
} elsif ( scalar(@cust_credit_bill) == 1
&& scalar(@cust_credit_refund) == 0
&& $cust_credit->credited == 0 ) {
#applied to one invoice, the usual situation
- $desc = ' '. $cust_credit_bill[0]->applied_to_invoice;
+ $desc .= ' '. $cust_credit_bill[0]->applied_to_invoice;
} elsif ( scalar(@cust_credit_bill) == 0
&& scalar(@cust_credit_refund) == 1
&& $cust_credit->credited == 0 ) {
#applied to one refund
- $desc = ' refunded on '. time2str("%D", $cust_credit_refund[0]->_date);
+ $desc .= emt(" refunded on [_1]", time2str($date_format, $cust_credit_refund[0]->_date) );
} else {
#complicated
- $desc = '<BR>';
+ $desc .= '<BR>';
foreach my $app ( sort { $a->_date <=> $b->_date }
( @cust_credit_bill, @cust_credit_refund ) ) {
if ( $app->isa('FS::cust_credit_bill') ) {
- $desc .= ' '.
- '$'. $app->amount.
- ' '. $app->applied_to_invoice.
- '<BR>';
- #' on '. time2str("%D", $app->_date).
+ $desc .= ' ' . $money_char . $app->amount . ' '
+ . $app->applied_to_invoice . '<BR>';
} elsif ( $app->isa('FS::cust_credit_refund') ) {
- $desc .= ' '.
- '$'. $app->amount.
- ' refunded on '. time2str("%D", $app->_date).
- '<BR>';
+ $desc .= ' ' .
+ emt("[_1][_2] refunded on [_3]", $money_char, $app->amount,
+ time2str($date_format, $app->_date) ) . '<BR>';
} else {
die "$app is not a FS::cust_credit_bill or a FS::cust_credit_refund";
}
}
if ( $cust_credit->credited > 0 ) {
- $desc .= ' <B><FONT COLOR="#FF0000">$'.
- $cust_credit->credited. ' unapplied</FONT></B>';
+ $desc .= ' <B><FONT COLOR="#FF0000">' .
+ emt("[_1][_2] unapplied", $money_char, $cust_credit->credited) .
+ '</FONT></B>';
if ( $curuser->access_right('Apply credit') ) {
- $apply = ' ('. include( '/elements/popup_link.html',
- 'label' => 'apply',
- 'action' => "${p}edit/cust_credit_bill.cgi?".
- $cust_credit->crednum,
- 'actionlabel' => 'Apply credit',
- 'width' => 392,
- #default# 'height' => 336,
- ).
- ')';
- #XXX if there are any open refunds
- $apply.= ' ('. include( '/elements/popup_link.html',
- 'label' => 'apply to refund',
- 'action' => "${p}edit/cust_credit_refund.cgi?".
- $cust_credit->crednum,
- 'actionlabel' => 'Apply credit to refund',
- 'width' => 392,
- #default# 'height' => 336,
- ).
- ')';
+ if ( $cust_credit->cust_main->total_owed > 0 ) {
+ $apply = ' ('.
+ include( '/elements/popup_link.html',
+ 'label' => emt('apply'),
+ 'action' => "${p}edit/cust_credit_bill.cgi?".
+ $cust_credit->crednum,
+ 'actionlabel' => emt('Apply credit'),
+ %cust_credit_bill_width,
+ %cust_credit_bill_height,
+ ).
+ ')';
+ }
+ if ( $cust_credit->cust_main->total_unapplied_refunds > 0 ) {
+ $apply.= ' ('.
+ include( '/elements/popup_link.html',
+ 'label' => emt('apply to refund'),
+ 'action' => "${p}edit/cust_credit_refund.cgi?".
+ $cust_credit->crednum,
+ 'actionlabel' => emt('Apply credit to refund'),
+ 'width' => 392,
+ ).
+ ')';
+ }
}
$desc .= '<BR>';
}
}
#
my $delete = '';
-if ( $cust_credit->closed !~ /^Y/i
-
- #s'pose deleting a credit isn't bad like deleting a payment
- # and this needs to be generally available until we have credit voiding..
- #&& $conf->exists('deletecredits')
-
- && $curuser->access_right('Delete credit')
- )
-{
- $delete = qq! (<A HREF="javascript:areyousure('!.
- qq!${p}misc/delete-cust_credit.cgi?!. $cust_credit->crednum.
- qq!', 'Are you sure you want to delete this credit?')">!.
- qq!delete</A>)!;
-}
+$delete = areyousure_link("${p}misc/delete-cust_credit.cgi?".$cust_credit->crednum,
+ emt('Are you sure you want to delete this credit?'),
+ '',
+ emt('delete')
+ )
+if ( $cust_credit->closed !~ /^Y/i && $curuser->access_right('Delete credit') );
my $unapply = '';
-if ( $cust_credit->closed !~ /^Y/i
- && scalar(@cust_credit_bill)
- && $curuser->access_right('Unapply credit')
- )
-{
- $unapply = qq! (<A HREF="javascript:areyousure('!.
- qq!${p}misc/unapply-cust_credit.cgi?!. $cust_credit->crednum.
- qq!', 'Are you sure you want to unapply this credit?')">!.
- qq!unapply</A>)!;
-}
+$unapply = areyousure_link("${p}misc/unapply-cust_credit.cgi?".$cust_credit->crednum,
+ emt('Are you sure you want to unapply this credit?'),
+ '',
+ emt('unapply')
+ )
+if ( $cust_credit->closed !~ /^Y/i && scalar(@cust_credit_bill)
+ && $curuser->access_right('Unapply credit') );
my $reason = $cust_credit->reason
? ' ('. $cust_credit->reason. ')'