& elements/cust_pay_or_refund.html,
'thing' => 'pay_pending',
'amount_field' => 'paid',
'name_singular' => 'pending payment',
'name_verb' => 'pending',
'disable_link' => 1,
'disable_by' => 1, #add otaker to cust_pay_pending?
'addl_header' => [ 'Time', 'Payment Status', ],
'addl_fields' => [ sub { time2str('%r', shift->_date ) },
$status_sub,
],
'redirect_empty' => $redirect_empty,
&>
<%init>
my %statusaction = (
'new' => 'delete',
'pending' => 'complete',
#'authorized' => '',
'captured' => 'capture',
#'declined' => '',
#wouldn't need to take action on a done state#'done'
);
my $edit_pending =
$FS::CurrentUser::CurrentUser->access_right('Edit customer pending payments');
my $status_sub = sub {
my $pending = shift;
my $return = $pending->status;
if ( $pending->failure_status ) {
$return = $pending->display_status;
}
my $action = $statusaction{$pending->status};
return $return unless $action && $edit_pending;
my $link = include('/elements/popup_link.html',
'action' => $p. 'edit/cust_pay_pending.html'.
'?paypendingnum='. $pending->paypendingnum.
";action=$action",
'label' => $action,
'color' => '#ff0000',
'width' => 655,
'height' => ( $action eq 'delete' ? 480 : 575 ),
'actionlabel' => ucfirst($action). ' pending payment',
);
$return. qq! ($link)!;
};
my $redirect_empty = sub {
my $cgi = shift;
if ( $cgi->param('custnum') =~ /^(\d+)$/ ) {
$p. "view/cust_main.cgi?$1";
} else {
'';
}
};
%init>