diff options
Diffstat (limited to 'httemplate')
-rwxr-xr-x | httemplate/misc/unapply-cust_credit_refund.cgi | 18 | ||||
-rwxr-xr-x | httemplate/misc/unapply-cust_pay_refund.cgi | 18 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history/credit.html | 25 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history/payment.html | 24 |
4 files changed, 69 insertions, 16 deletions
diff --git a/httemplate/misc/unapply-cust_credit_refund.cgi b/httemplate/misc/unapply-cust_credit_refund.cgi new file mode 100755 index 000000000..55a81b055 --- /dev/null +++ b/httemplate/misc/unapply-cust_credit_refund.cgi @@ -0,0 +1,18 @@ +<% $cgi->redirect($p. "view/cust_main.cgi?custnum=". $custnum. ";show=payment_history") %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Unapply credit'); + +#untaint crednum +my($query) = $cgi->keywords; +$query =~ /^(\d+)$/ || die "Illegal crednum"; +my $crednum = $1; + +my $cust_credit = qsearchs('cust_credit', { 'crednum' => $crednum } ); +my $custnum = $cust_credit->custnum; + +my $error = $cust_credit->unapply_refund; +errorpage($error) if $error; + +</%init> diff --git a/httemplate/misc/unapply-cust_pay_refund.cgi b/httemplate/misc/unapply-cust_pay_refund.cgi new file mode 100755 index 000000000..9e470b6e4 --- /dev/null +++ b/httemplate/misc/unapply-cust_pay_refund.cgi @@ -0,0 +1,18 @@ +<% $cgi->redirect($p. "view/cust_main.cgi?custnum=". $custnum. ";show=payment_history") %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Unapply payment'); + +#untaint paynum +my($query) = $cgi->keywords; +$query =~ /^(\d+)$/ || die "Illegal paynum"; +my $paynum = $1; + +my $cust_pay = qsearchs('cust_pay', { 'paynum' => $paynum } ); +my $custnum = $cust_pay->custnum; + +my $error = $cust_pay->unapply_refund; +errorpage($error) if $error; + +</%init> diff --git a/httemplate/view/cust_main/payment_history/credit.html b/httemplate/view/cust_main/payment_history/credit.html index 3eed833d3..e9b42d300 100644 --- a/httemplate/view/cust_main/payment_history/credit.html +++ b/httemplate/view/cust_main/payment_history/credit.html @@ -148,14 +148,23 @@ $delete = areyousure_link("${p}misc/delete-cust_credit.cgi?".$cust_credit->credn && $opt{'Delete credit'}; my $unapply = ''; -$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) - && $opt{'Unapply credit'}; + +if ($opt{'Unapply credit'} && !$cust_credit->closed) { + my $refund_to_unapply = $cust_credit->refund_to_unapply; + my $usepre = $refund_to_unapply && @cust_credit_bill; + $unapply = areyousure_link("${p}misc/unapply-cust_credit.cgi?".$cust_credit->crednum, + emt('Are you sure you want to unapply this credit from invoices?'), + emt('Keep this credit, but dissociate it from the invoices it is currently applied against'), + emt('unapply') . ($usepre ? ' ' . emt('invoices') : '') + ) + if @cust_credit_bill; + $unapply .= areyousure_link("${p}misc/unapply-cust_credit_refund.cgi?".$cust_credit->crednum, + emt('Are you sure you want to unapply this credit from refunds?'), + emt('Keep this credit, but dissociate it from the refunds it is currently applied to'), + emt('unapply') . ($usepre ? ' ' . emt('refunds') : '') + ) + if $refund_to_unapply; +} my $reason = $cust_credit->reason; $reason = $reason ? " ($reason)" : ''; diff --git a/httemplate/view/cust_main/payment_history/payment.html b/httemplate/view/cust_main/payment_history/payment.html index 652001789..c690a9281 100644 --- a/httemplate/view/cust_main/payment_history/payment.html +++ b/httemplate/view/cust_main/payment_history/payment.html @@ -203,13 +203,21 @@ $delete = areyousure_link("${p}misc/delete-cust_pay.cgi?".$cust_pay->paynum, && $opt{'Delete payment'}; my $unapply = ''; -$unapply = areyousure_link("${p}misc/unapply-cust_pay.cgi?".$cust_pay->paynum, - emt('Are you sure you want to unapply this payment?'), - emt('Keep this payment, but dissociate it from the invoices it is currently applied against'), - emt('unapply') - ) - if $cust_pay->closed !~ /^Y/i - && scalar(@cust_bill_pay) - && $opt{'Unapply payment'}; +if ($opt{'Unapply payment'} && !$cust_pay->closed) { + my $refund_to_unapply = $cust_pay->refund_to_unapply; + my $usepre = $refund_to_unapply && @cust_bill_pay; + $unapply = areyousure_link("${p}misc/unapply-cust_pay.cgi?".$cust_pay->paynum, + emt('Are you sure you want to unapply this payment from invoices?'), + emt('Keep this payment, but dissociate it from the invoices it is currently applied against'), + emt('unapply') . ($usepre ? ' ' . emt('invoices') : '') + ) + if @cust_bill_pay; + $unapply .= areyousure_link("${p}misc/unapply-cust_pay_refund.cgi?".$cust_pay->paynum, + emt('Are you sure you want to unapply this payment from refunds?'), + emt('Keep this payment, but dissociate it from the refunds it is currently applied to'), + emt('unapply') . ($usepre ? ' ' . emt('refunds') : '') + ) + if $refund_to_unapply; +} </%init> |