From: ivan Date: Fri, 12 Mar 2004 12:39:57 +0000 (+0000) Subject: add unapplycredits configuration option X-Git-Tag: NET_WHOIS_RAW_0_31~81 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=92fa788fb842baab8fa185e159d8effde739bd74;p=freeside.git add unapplycredits configuration option --- diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 99eee18ea..ecd2a9790 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -350,6 +350,13 @@ httemplate/docs/config.html 'type' => 'checkbox', }, + { + 'key' => 'unapplycredits', + 'section' => 'UI', + 'description' => 'Enable "unapplication" of unclosed credits.', + 'type' => 'checkbox', + }, + { 'key' => 'dirhash', 'section' => 'shell', diff --git a/httemplate/misc/unapply-cust_credit.cgi b/httemplate/misc/unapply-cust_credit.cgi new file mode 100755 index 000000000..c658d2acc --- /dev/null +++ b/httemplate/misc/unapply-cust_credit.cgi @@ -0,0 +1,18 @@ +<% + +#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; + +foreach my $cust_credit_bill ( $cust_credit->cust_credit_bill ) { + my $error = $cust_credit_bill->delete; + eidiot($error) if $error; +} + +print $cgi->redirect($p. "view/cust_main.cgi?". $custnum); + +%> diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi index ee5f86973..c41d2d894 100755 --- a/httemplate/view/cust_main.cgi +++ b/httemplate/view/cust_main.cgi @@ -554,6 +554,11 @@ function cust_pay_unapply_areyousure(href) { == true) window.location.href = href; } +function cust_credit_unapply_areyousure(href) { + if (confirm("Are you sure you want to unapply this credit?") + == true) + window.location.href = href; +} function cust_credit_areyousure(href) { if (confirm("Are you sure you want to delete this credit?") == true) @@ -637,9 +642,13 @@ if ( $conf->config('payby-default') ne 'HIDE' ) { $cust_credit->closed !~ /^Y/i && $conf->exists('deletecredits') ? qq! (delete)! : ''; + my $unapply = + $cust_credit->closed !~ /^Y/i && $conf->exists('unapplycredits') + ? qq! (unapply)! + : ''; push @history, "$date\tCredit #$crednum: $reason
". - "(applied to invoice #$invnum on $app_date)$delete\t\t\t$amount\t"; + "(applied to invoice #$invnum on $app_date)$delete$unapply\t\t\t$amount\t"; } }