diff options
Diffstat (limited to 'httemplate/misc/delete-customer.cgi')
-rwxr-xr-x | httemplate/misc/delete-customer.cgi | 93 |
1 files changed, 48 insertions, 45 deletions
diff --git a/httemplate/misc/delete-customer.cgi b/httemplate/misc/delete-customer.cgi index 378f69e61..17b7bda5e 100755 --- a/httemplate/misc/delete-customer.cgi +++ b/httemplate/misc/delete-customer.cgi @@ -1,48 +1,26 @@ -<!-- mason kludge --> -% -% -%my $conf = new FS::Conf; -%die "Customer deletions not enabled" unless $conf->exists('deletecustomers'); -% -%my($custnum, $new_custnum); -%if ( $cgi->param('error') ) { -% $custnum = $cgi->param('custnum'); -% $new_custnum = $cgi->param('new_custnum'); -%} else { -% my($query) = $cgi->keywords; -% $query =~ /^(\d+)$/ or die "Illegal query: $query"; -% $custnum = $1; -% $new_custnum = ''; -%} -%my $cust_main = qsearchs( 'cust_main', { 'custnum' => $custnum } ) -% or die "Customer not found: $custnum"; -% -%print 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">!; -% +<% include('/elements/header.html', 'Delete customer') %> + +<% include('/elements/error.html') %> + +<FORM ACTION="<% popurl(1) %>process/delete-customer.cgi" METHOD=POST> +<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum |h %>"> + %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>!; + Move uncancelled packages to customer number + <INPUT TYPE="text" NAME="new_custnum" VALUE="<% $new_custnum |h %>"><BR><BR> %} -% -%print <<END; -%This will <b>completely remove</b> all traces of this customer record. This -%is <B>not</B> what you want if this is a real customer who has simply -%canceled service with you. For that, cancel all of the customer's packages. -%(you can optionally hide cancelled customers with the <a href="../config/config-view.cgi#hidecancelledcustomers">hidecancelledcustomers</a> configuration option) -%<br> -%<br>Are you <b>absolutely sure</b> you want to delete this customer? -%<br><input type="submit" value="Yes"> -%</form></body></html> -%END -% + +This will <B>completely remove</B> all traces of this customer record. This +is <B>not</B> what you want if this is a real customer who has simply +canceled service with you. For that, cancel all of the customer's packages. +(you can optionally hide cancelled customers with the <A HREF="../config/config-view.cgi#hidecancelledcustomers">hidecancelledcustomers</A> configuration option) +<BR> +<BR>Are you <B>absolutely sure</B> you want to delete this customer? +<BR><INPUT TYPE="submit" VALUE="Yes"> +</FORM> + +<% include('/elements/footer.html') %> + %#Deleting a customer you have financial records on (i.e. credits) is %#typically considered fraudulant bookkeeping. Remember, deleting %#customers should ONLY be used for completely bogus records. You should @@ -56,6 +34,31 @@ %#Also see the "hidecancelledcustomers" and "hidecancelledpackages" %#configuration options, which will allow you to surpress the display of %#cancelled customers and packages, respectively. -% -% +<%init> + +my $conf = new FS::Conf; +die "Customer deletions not enabled in configuration" + unless $conf->exists('deletecustomers'); + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Delete customer'); + +my($custnum, $new_custnum); +if ( $cgi->param('error') ) { + $custnum = $cgi->param('custnum'); + $new_custnum = $cgi->param('new_custnum'); +} else { + my($query) = $cgi->keywords; + $query =~ /^(\d+)$/ or die "Illegal query: $query"; + $custnum = $1; + $new_custnum = ''; +} +my $cust_main = qsearchs( { + 'table' => 'cust_main', + 'hashref' => { 'custnum' => $custnum }, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, +} ) + or die 'Unknown custnum'; + +<%/init> |