remove customer deletion
authorIvan Kohler <ivan@freeside.biz>
Wed, 19 Jun 2013 22:27:21 +0000 (15:27 -0700)
committerIvan Kohler <ivan@freeside.biz>
Wed, 19 Jun 2013 22:27:21 +0000 (15:27 -0700)
FS/FS/AccessRight.pm
FS/FS/Conf.pm
httemplate/L10N
httemplate/misc/delete-customer.cgi [deleted file]
httemplate/misc/merge_cust.html
httemplate/misc/process/delete-customer.cgi [deleted file]
httemplate/view/cust_main.cgi

index d7e5a17..3f6073e 100644 (file)
@@ -118,7 +118,6 @@ tie my %rights, 'Tie::IxHash',
     'Complimentary customer', #aka users-allow_comp 
     'Merge customer',
     'Merge customer across agents',
-    { rightname=>'Delete customer', desc=>"Enable customer deletions. Be very careful! Deleting a customer will remove all traces that this customer ever existed! It should probably only be used when auditing a legacy database. Normally, you cancel all of a customer's packages if they cancel service." }, #aka. deletecustomers
     'Bill customer now', #NEW
     'Bulk send customer notices', #NEW
     { rightname=>'View customers of all agents', global=>1 },
@@ -405,7 +404,6 @@ Most (but not all) right names.
 sub default_superuser_rights {
   my $class = shift;
   my %omit = map { $_=>1 } (
-    'Delete customer',
     'Delete invoices',
     'Delete payment',
     'Delete credit', #?
index 982c340..bbd73a3 100644 (file)
@@ -1066,13 +1066,6 @@ sub reason_type_options {
   },
 
   {
-    'key'         => 'deletecustomers',
-    'section'     => 'UI',
-    'description' => 'Enable customer deletions.  Be very careful!  Deleting a customer will remove all traces that the customer ever existed!  It should probably only be used when auditing a legacy database.  Normally, you cancel all of a customers\' packages if they cancel service.',
-    'type'        => 'checkbox',
-  },
-
-  {
     'key'         => 'deleteinvoices',
     'section'     => 'UI',
     'description' => 'Enable invoices deletions.  Be very careful!  Deleting an invoice will remove all traces that the invoice ever existed!  Normally, you would apply a credit against the invoice instead.',  #invoice voiding?
index 242fede..57595a0 100644 (file)
@@ -480,7 +480,6 @@ L ./misc/process/cust_main-import_charges.cgi
 L ./misc/process/rate_edit_excel.html
 L ./misc/process/rate-import.html
 L ./misc/process/meta-import.cgi
-L ./misc/process/delete-customer.cgi
 L ./misc/phone_avail-import.html
 L ./misc/part_device-import.html
 L ./misc/nms-add_iface.html
@@ -508,7 +507,6 @@ H ./misc/change_pkg.cgi
 L ./misc/rate-import.html
 L ./misc/meta-import.cgi
 L ./misc/delete-cust_pkg_discount.html
-L ./misc/delete-customer.cgi
 L ./misc/delete-domain_record.cgi
 L ./misc/cdr.cgi
 
diff --git a/httemplate/misc/delete-customer.cgi b/httemplate/misc/delete-customer.cgi
deleted file mode 100755 (executable)
index 203ed36..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<% 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' => '' } ) ) {
-  Move uncancelled packages to customer number 
-  <INPUT TYPE="text" NAME="new_custnum" VALUE="<% $new_custnum |h %>"><BR><BR>
-%}
-
-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
-%#NOT delete real customers who simply discontinue service.
-%#
-%#For real customers who simply discontinue service, cancel all of the
-%#customer's packages.  Customers with all cancelled packages are not  
-%#billed.  There is no need to take further action to prevent billing on
-%#customers with all cancelled packages.
-%#
-%#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>
index 9c869fa..c923b7b 100644 (file)
@@ -43,7 +43,7 @@ function do_submit_merge() {
                'curr_value'  => scalar($cgi->param('new_custnum')),
   &>
 
-% if ( $conf->exists('deletecustomers') ) {
+% if ( 0 ) { #we start supporting payment info merge again in some way
 
 %   if ( scalar($cust_main->ncancelled_pkgs) ) {
       <TR>
@@ -67,7 +67,7 @@ function do_submit_merge() {
              'value'       => 'Y',
              'curr_value'  => scalar($cgi->param('merge')),
         &>
-        Merge invoices, payments/credits, notes, tickets and delete this customer.
+        Merge invoices, payments/credits, notes, tickets and delete<!-- ^Warchive --> this customer.
       </TD>
     </TR>
 % }
diff --git a/httemplate/misc/process/delete-customer.cgi b/httemplate/misc/process/delete-customer.cgi
deleted file mode 100755 (executable)
index 1201131..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-%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 in configuration"
-  unless $conf->exists('deletecustomers');
-
-die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Delete customer');
-
-$cgi->param('custnum') =~ /^(\d+)$/;
-my $custnum = $1;
-my $new_custnum;
-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 = '';
-}
-my $cust_main = qsearchs( 'cust_main', { 'custnum' => $custnum } )
-  or die "Customer not found: $custnum";
-
-my $error = $cust_main->delete('new_custnum' => $new_custnum);
-
-</%init>
index 1f9e0f9..430c50c 100755 (executable)
@@ -93,7 +93,7 @@ function areyousure(href, message) {
 
 % if (     $curuser->access_right('Merge customer')
 %      and (    scalar($cust_main->ncancelled_pkgs)
-%            || $conf->exists('deletecustomers')
+%            # || we start supporting payment info merge again in some way
 %          )
 %    )
 % {
@@ -108,12 +108,6 @@ function areyousure(href, message) {
   &> | 
 % } 
 
-% if ( $conf->exists('deletecustomers')
-%        && $curuser->access_right('Delete customer')
-%      ) {
-  <A HREF="<% $p %>misc/delete-customer.cgi?<% $custnum%>"><% mt('Delete this customer') |h %></A> | 
-% } 
-
 % unless ( $conf->exists('disable_customer_referrals') ) { 
   <A HREF="<% $p %>edit/cust_main.cgi?referral_custnum=<% $custnum %>"><% mt('Refer a new customer') |h %></A> | 
   <A HREF="<% $p %>search/cust_main.cgi?referral_custnum=<% $custnum %>"><% mt('View this customer\'s referrals') |h %></A>