diff options
Diffstat (limited to 'htdocs')
-rw-r--r-- | htdocs/docs/config.html | 1 | ||||
-rwxr-xr-x | htdocs/misc/delete-customer.cgi | 58 | ||||
-rwxr-xr-x | htdocs/misc/process/delete-customer.cgi | 46 | ||||
-rwxr-xr-x | htdocs/view/cust_main.cgi | 18 |
4 files changed, 118 insertions, 5 deletions
diff --git a/htdocs/docs/config.html b/htdocs/docs/config.html index fba745af2..7994af8f9 100644 --- a/htdocs/docs/config.html +++ b/htdocs/docs/config.html @@ -25,6 +25,7 @@ All further configuration files and directories are located in <li>bsdshellmachines - Your BSD flavored shell (and mail) machines, one per line. This enables export of `/etc/passwd' and `/etc/master.passwd'. <li>cybercash2 - <a href="http://www.cybercash.com/cybercash/services/cashreg214.html">CyberCash v2</a> support, four lines: paymentserverhost, paymentserverport, paymentserversecret, and transaction type (`mauthonly' or `mauthcapture'). CCLib.pm is required. <li>cybercash3.2 - <a href="http://www.cybercash.com/cybercash/services/technology.html">CyberCash v3.2</a> support. Two lines: the full path and name of your merchant_conf file, and the transaction type (`mauthonly' or `mauthcapture'). CCMckLib3_2.pm, CCMckDirectLib3_2.pm and CCMckErrno3_2 are required. + <li>deletecustomers - The existance of this file will enable customer deletions. <li>domain - Your domain name. <li>editreferrals - The existance of this file will allow you to change the referral of existing customers. <li>erpcdmachines - Your ERPCD authenticaion machines, one per line. This enables export of `/usr/annex/acp_passwd' and `/usr/annex/acp_dialup'. diff --git a/htdocs/misc/delete-customer.cgi b/htdocs/misc/delete-customer.cgi new file mode 100755 index 000000000..8addbd657 --- /dev/null +++ b/htdocs/misc/delete-customer.cgi @@ -0,0 +1,58 @@ +#!/usr/bin/perl -Tw +# +# $Id: delete-customer.cgi,v 1.1 1999-04-15 16:44:36 ivan Exp $ +# +# $Log: delete-customer.cgi,v $ +# Revision 1.1 1999-04-15 16:44:36 ivan +# delete customers +# + +use strict; +use vars qw( $cgi $conf $query $custnum $new_custnum $cust_main ); +use CGI; +use CGI::Carp qw(fatalsToBrowser); +use FS::UID qw(cgisuidsetup); +use FS::CGI qw(header popurl); +use FS::Record qw(qsearch qsearchs); +use FS::cust_main; + +$cgi = new CGI; +cgisuidsetup($cgi); + +$conf = new FS::Conf; +die "Customer deletions not enabled" unless $conf->exists('deletecustomers'); + +if ( $cgi->param('error') ) { + $custnum = $cgi->param('custnum'); + $new_custnum = $cgi->param('new_custnum'); +} else { + ($query) = $cgi->keywords; + $query =~ /^(\d+)$/ or die "Illegal query: $query"; + $custnum = $1; + $new_custnum = ''; +} +$cust_main = qsearchs( 'cust_main', { 'custnum' => $custnum } ) + or die "Customer not found: $custnum"; + +print $cgi->header ( '-expires' => 'now' ), header('Delete customer'); + +print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $cgi->param('error'), + "</FONT>" + if $cgi->param('error'); + +print + qq!<form action="!, popurl(1), qq!process/delete-customer.cgi" method=post>!, + qq!<input type="hidden" name="custnum" value="$custnum">!; + +if ( qsearch('cust_pkg', { 'custnum' => $custnum, 'cancel' => '' } ) ) { + print "Move uncancelled packages to customer number ", + qq!<input type="text" name="new_custnum" value="$new_custnum"><br><br>!; +} + +print <<END; +This will <b>completely remove</b> all traces of this customer record. +<br>Are you <b>absolutely sure</b> you want to delete this customer? +<br><input type="submit" value="Yes"> +</form></body></html> +END + diff --git a/htdocs/misc/process/delete-customer.cgi b/htdocs/misc/process/delete-customer.cgi new file mode 100755 index 000000000..0a939c559 --- /dev/null +++ b/htdocs/misc/process/delete-customer.cgi @@ -0,0 +1,46 @@ +#!/usr/bin/perl -Tw +# +# $Id: delete-customer.cgi,v 1.1 1999-04-15 16:44:36 ivan Exp $ +# +# $Log: delete-customer.cgi,v $ +# Revision 1.1 1999-04-15 16:44:36 ivan +# delete customers +# + +use strict; +use vars qw ( $cgi $conf $custnum $new_custnum $cust_main $error ); +use CGI; +use CGI::Carp qw(fatalsToBrowser); +use FS::UID qw(cgisuidsetup); +use FS::Record qw(qsearchs); +use FS::CGI qw(popurl); +use FS::cust_main; + +$cgi = new CGI; +cgisuidsetup($cgi); + +$conf = new FS::Conf; +die "Customer deletions not enabled" unless $conf->exists('deletecustomers'); + +$cgi->param('custnum') =~ /^(\d+)$/; +$custnum = $1; +if ( $cgi->param('new_custnum') ) { + $cgi->param('new_custnum') =~ /^(\d+)$/ + or die "Illegal new customer number: ". $cgi->param('new_custnum'); + $new_custnum = $1; +} else { + $new_custnum = ''; +} +$cust_main = qsearchs( 'cust_main', { 'custnum' => $custnum } ) + or die "Customer not found: $custnum"; + +$error = $cust_main->delete($new_custnum); + +if ( $error ) { + $cgi->param('error', $error); + print $cgi->redirect(popurl(2). "delete-customer.cgi?". $cgi->query_string ); +} elsif ( $new_custnum ) { + print $cgi->redirect(popurl(3). "view/cust_main.cgi?$new_custnum"); +} else { + print $cgi->redirect(popurl(3)); +} diff --git a/htdocs/view/cust_main.cgi b/htdocs/view/cust_main.cgi index 6f6c33540..de9ff7f89 100755 --- a/htdocs/view/cust_main.cgi +++ b/htdocs/view/cust_main.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: cust_main.cgi,v 1.16 1999-04-09 04:22:34 ivan Exp $ +# $Id: cust_main.cgi,v 1.17 1999-04-15 16:44:36 ivan Exp $ # # Usage: cust_main.cgi custnum # http://server.name/path/cust_main.cgi?custnum @@ -31,7 +31,10 @@ # lose background, FS::CGI ivan@sisd.com 98-sep-2 # # $Log: cust_main.cgi,v $ -# Revision 1.16 1999-04-09 04:22:34 ivan +# Revision 1.17 1999-04-15 16:44:36 ivan +# delete customers +# +# Revision 1.16 1999/04/09 04:22:34 ivan # also table() # # Revision 1.15 1999/04/09 03:52:55 ivan @@ -82,7 +85,7 @@ use strict; use vars qw ( $cgi $query $custnum $cust_main $hashref $agent $referral @packages $package @history @bills $bill @credits $credit - $balance $item @agents @referrals @invoicing_list $n1 ); + $balance $item @agents @referrals @invoicing_list $n1 $conf ); use CGI; use CGI::Carp qw(fatalsToBrowser); use Date::Format; @@ -102,6 +105,8 @@ use FS::cust_refund; $cgi = new CGI; &cgisuidsetup($cgi); +$conf = new FS::Conf; + print $cgi->header( '-expires' => 'now' ), header("Customer View", menubar( 'Main Menu' => popurl(2) )); @@ -117,8 +122,11 @@ $hashref = $cust_main->hashref; print &itable(), '<TR><TD><A NAME="cust_main"></A>'; print qq!<A HREF="!, popurl(2), - qq!edit/cust_main.cgi?$custnum">Edit this customer</A>!, - &ntable("#c0c0c0"), "<TR><TD>", &ntable("#c0c0c0",2), + qq!edit/cust_main.cgi?$custnum">Edit this customer</A>!; +print qq! | <A HREF="!, popurl(2), + qq!misc/delete-customer.cgi?$custnum"> Delete this customer</A>! + if $conf->exists('deletecustomers'); +print &ntable("#c0c0c0"), "<TR><TD>", &ntable("#c0c0c0",2), '<TR><TD ALIGN="right">Customer number</TD><TD BGCOLOR="#ffffff">', $custnum, '</TD></TR>', ; |