this helps? but this search is still royally fucked by the last changes. RT#23621
[freeside.git] / httemplate / misc / process / delete-customer.cgi
index 16bdbae..1201131 100755 (executable)
@@ -1,7 +1,19 @@
-<%
+%if ( $error ) {
+%  $cgi->param('error', $error);
+<% $cgi->redirect(popurl(2). "delete-customer.cgi?". $cgi->query_string ) %>
+%} elsif ( $new_custnum ) {
+<% $cgi->redirect(popurl(3). "view/cust_main.cgi?$new_custnum") %>
+%} else {
+<% $cgi->redirect(popurl(3)) %>
+%}
+<%init>
 
 my $conf = new FS::Conf;
-die "Customer deletions not enabled" unless $conf->exists('deletecustomers');
+die "Customer deletions not enabled in configuration"
+  unless $conf->exists('deletecustomers');
+
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Delete customer');
 
 $cgi->param('custnum') =~ /^(\d+)$/;
 my $custnum = $1;
@@ -16,14 +28,6 @@ if ( $cgi->param('new_custnum') ) {
 my $cust_main = qsearchs( 'cust_main', { 'custnum' => $custnum } )
   or die "Customer not found: $custnum";
 
-my $error = $cust_main->delete($new_custnum);
+my $error = $cust_main->delete('new_custnum' => $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));
-}
-%>
+</%init>