[freeside-commits] branch master updated. 6c8c35f089c2846feee78ded4f5ce9f829b06391

Ivan ivan at 420.am
Sun Mar 10 19:13:30 PDT 2013


The branch, master has been updated
       via  6c8c35f089c2846feee78ded4f5ce9f829b06391 (commit)
      from  5b32008ec1a1ac574a326a67e950f754151ee671 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 6c8c35f089c2846feee78ded4f5ce9f829b06391
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Sun Mar 10 19:13:27 2013 -0700

    removing very obsolete izoom stuff

diff --git a/FS/FS/ClientAPI/Bulk.pm b/FS/FS/ClientAPI/Bulk.pm
deleted file mode 100644
index ec617df..0000000
--- a/FS/FS/ClientAPI/Bulk.pm
+++ /dev/null
@@ -1,384 +0,0 @@
-package FS::ClientAPI::Bulk;
-
-use strict;
-
-use vars qw( $DEBUG $cache );
-use Date::Parse;
-use FS::Record qw( qsearchs );
-use FS::Conf;
-use FS::ClientAPI_SessionCache;
-use FS::cust_main;
-use FS::cust_pkg;
-use FS::cust_svc;
-use FS::svc_acct;
-use FS::svc_external;
-use FS::cust_recon;
-use Data::Dumper;
-
-$DEBUG = 1;
-
-sub _cache {
-  $cache ||= new FS::ClientAPI_SessionCache ( {
-               'namespace' => 'FS::ClientAPI::Agent', #yes, share session_ids
-             } );
-}
-
-sub _izoom_ftp_row_fixup {
-  my $hash = shift;
-
-  my @addr_fields = qw( address1 address2 city state zip );
-  my @fields = ( qw( agent_custid username _password first last ),
-                 @addr_fields,
-                 map { "ship_$_" } @addr_fields );
-
-  $hash->{$_} =~ s/[&\/\*'"]/_/g foreach @fields;
-
-  #$hash->{action} = '' if $hash->{action} eq 'R'; #unsupported for ftp
-
-  $hash->{refnum} = 1;  #ahem
-  $hash->{country} = 'US';
-  $hash->{ship_country} = 'US';
-  $hash->{payby} = 'LECB';
-  $hash->{payinfo} = $hash->{daytime};
-  $hash->{ship_fax} = '' if ( !$hash->{sms} ||  $hash->{sms} eq 'F' );
-
-  my $has_ship =
-    grep { $hash->{"ship_$_"} &&
-           (! $hash->{$_} || $hash->{"ship_$_"} ne $hash->{$_} )
-         }
-    ( @addr_fields, 'fax' );
-
-  if ( $has_ship )  {
-    foreach ( @addr_fields, qw( first last ) ) {
-      $hash->{"ship_$_"} = $hash->{$_} unless $hash->{"ship_$_"};
-    }
-  }
-    
-  delete $hash->{sms};
-
-  '';
-
-};
-
-sub _izoom_ftp_result {
-  my ($hash, $error) = @_;
-  my $cust_main =
-      qsearchs( 'cust_main', { 'agent_custid' => $hash->{agent_custid},
-                               'agentnum'     => $hash->{agentnum}
-                             }
-              );
-
-  my $custnum = $cust_main ? $cust_main->custnum : '';
-  my @response = ( $hash->{action}, $hash->{agent_custid}, $custnum );
-
-  if ( $error ) {
-    push @response, ( 'ERROR', $error );
-  } else {
-    push @response, ( 'OK', 'OK' );
-  }
-
-  join( ',', @response );
-
-}
-
-sub _izoom_ftp_badaction {
-  "Invalid action: $_[0] record: @_ ";
-}
-
-sub _izoom_soap_row_fixup { _izoom_ftp_row_fixup(@_) };
-
-sub _izoom_soap_result {
-  my ($hash, $error) = @_;
-
-  if ( $hash->{action} eq 'R' ) {
-    if ( $error ) {
-      return "Please check errors:\n $error"; # odd extra space
-    } else {
-      return join(' ', "Everything ok.", $hash->{pkg}, $hash->{adjourn} );
-    }
-  }
-
-  my $pkg = $hash->{pkg} || $hash->{saved_pkg} || '';
-  if ( $error ) {
-    return join(' ', $hash->{agent_custid}, $error );
-  } else {
-    return join(' ', $hash->{agent_custid}, $pkg, $hash->{adjourn} );
-  }
-
-}
-
-sub _izoom_soap_badaction {
-  "Unknown action '$_[13]' ";
-}
-
-my %format = (
-  'izoom-ftp'  => {
-                    'fields' => [ qw ( action agent_custid username _password
-                                       daytime ship_fax sms first last
-                                       address1 address2 city state zip
-                                       pkg adjourn ship_address1 ship_address2
-                                       ship_city ship_state ship_zip ) ],
-                    'fixup'  =>  sub { _izoom_ftp_row_fixup(@_) },
-                    'result' =>  sub { _izoom_ftp_result(@_) },
-                    'action' =>  sub { _izoom_ftp_badaction(@_) },
-                  },
-  'izoom-soap' => {
-                    'fields' => [ qw ( agent_custid username _password
-                                       daytime first last address1 address2
-                                       city state zip pkg action adjourn
-                                       ship_fax sms ship_address1 ship_address2
-                                       ship_city ship_state ship_zip ) ],
-                    'fixup'  =>  sub { _izoom_soap_row_fixup(@_) },
-                    'result' =>  sub { _izoom_soap_result(@_) },
-                    'action' =>  sub { _izoom_soap_badaction(@_) },
-                  },
-);
-
-sub processrow {
-  my $p = shift;
-
-  my $session = _cache->get($p->{'session_id'})
-    or return { 'error' => "Can't resume session" }; #better error message
-
-  my $conf = new FS::Conf;
-  my $format = $conf->config('selfservice-bulk_format', $session->{agentnum})
-               || 'izoom-soap';
-  my ( @row ) = @{ $p->{row} };
-
-  warn "processrow called with '". join("' '", @row). "'\n" if $DEBUG;
-
-  return { 'error' => "unknown format: $format" }
-    unless exists $format{$format};
-
-  return { 'error' => "Invalid record record length: ". scalar(@row).
-                      "record: @row " #sic
-         }
-    unless scalar(@row) == scalar(@{$format{$format}{fields}});
-
-  my %hash = ( 'agentnum' => $session->{agentnum} );
-  my $error;
-
-  foreach my $field ( @{ $format{ $format }{ fields } } ) {
-    $hash{$field} = shift @row;
-  }
-
-  $error ||= &{ $format{ $format }{ fixup } }( \%hash );
-  
-  # put in the fixup routine?
-  if ( 'R' eq $hash{action} ) {
-    warn "processing reconciliation\n" if $DEBUG;
-    $error ||= process_recon($hash{agentnum}, $hash{agent_custid});
-  } elsif ( 'P' eq $hash{action} ) {
-    #  do nothing
-  } elsif( 'D' eq $hash{action} ) {
-    $hash{promo_pkg} = 'disk-1-'. $session->{agent};
-  } elsif ( 'S' eq $hash{action} ) {
-    $hash{promo_pkg} = 'disk-2-'. $session->{agent};
-    $hash{saved_pkg} = $hash{pkg};
-    $hash{pkg} = '';
-  } else {
-    $error ||= &{ $format{ $format }{ action } }( @row );
-  }
-
-  warn "processing provision\n" if ($DEBUG && !$error && $hash{action} ne 'R');
-  $error ||= provision( %hash ) unless $hash{action} eq 'R';
-
-  my $result =  &{ $format{ $format }{ result } }( \%hash, $error );
-
-  warn "processrow returning '". join("' '", $result, $error). "'\n"
-    if $DEBUG;
-
-  return { 'error' => $error, 'message' => $result };
-
-}
-
-sub provision {
-  my %args = ( @_ );
-
-  delete $args{action};
-
-  my $cust_main =
-    qsearchs( 'cust_main',
-              { map { $_ => $args{$_} } qw ( agent_custid agentnum ) },
-            );
-
-  unless ( $cust_main ) {
-    $cust_main = new FS::cust_main { %args };
-    my $error = $cust_main->insert;
-    return $error if $error;
-  }
-
-  my @pkgs = grep { $_->part_pkg->freq } $cust_main->ncancelled_pkgs;
-  if ( scalar(@pkgs) > 1 ) {
-    return "Invalid account, should not be more then one active package ". #sic
-           "but found: ". scalar(@pkgs). " packages.";
-  }
-
-  my $part_pkg = qsearchs( 'part_pkg', { 'pkg' => $args{pkg} } ) 
-    or return "Unknown pkgpart: $args{pkg}"
-    if $args{pkg};
-
-
-  my $create_package = $args{pkg};        
-  if ( scalar(@pkgs) && $create_package ) {        
-    my $pkg = pop(@pkgs);
-        
-    if ( $part_pkg->pkgpart != $pkg->pkgpart ) {
-      my @cust_bill_pkg = $pkg->cust_bill_pkg();
-      if ( 1 == scalar(@cust_bill_pkg) ) {
-        my $cbp= pop(@cust_bill_pkg);
-        my $cust_bill = $cbp->cust_bill;
-        $cust_bill->delete();  #really?  wouldn't a credit be better?
-      }
-      $pkg->cancel();
-    } else {
-      $create_package = '';
-      $pkg->setfield('adjourn', str2time($args{adjourn}));
-      my $error = $pkg->replace();
-      return $error if $error;
-    }
-  }
-
-  if ( $create_package ) {
-    my $cust_pkg = new FS::cust_pkg ( {
-        'pkgpart' => $part_pkg->pkgpart,
-        'adjourn' => str2time( $args{adjourn} ),
-    } );
-
-    my $svcpart = $part_pkg->svcpart('svc_acct');
-
-    my $svc_acct = new FS::svc_acct ( {
-        'svcpart'   => $svcpart,
-        'username'  => $args{username},
-        '_password' => $args{_password},
-    } );
-
-    my $error = $cust_main->order_pkg( cust_pkg => $cust_pkg,
-                                       svcs     => [ $svc_acct ],
-    );
-    return $error if $error;
-  }
-    
-  if ( $args{promo_pkg} ) {
-    my $part_pkg =
-    qsearchs( 'part_pkg', { 'promo_code' =>  $args{promo_pkg} } )
-      or return "unknown pkgpart: $args{promo_pkg}";
-            
-    my $svcpart = $part_pkg->svcpart('svc_external')
-      or return "unknown svcpart: svc_external";
-
-    my $cust_pkg = new FS::cust_pkg ( {
-      'svcpart' => $svcpart,
-      'pkgpart' => $part_pkg->pkgpart,
-    } );
-
-    my $svc_ext = new FS::svc_external ( { 'svcpart'   => $svcpart } );
-    
-    my $ticket_subject = 'Send setup disk to customer '. $cust_main->custnum;
-    my $error = $cust_main->order_pkg ( cust_pkg       => $cust_pkg,
-                                        svcs           => [ $svc_ext ],
-                                        noexport       => 1,
-                                        ticket_subject => $ticket_subject,
-                                        ticket_queue   => "disk-$args{agentnum}",
-    );
-    return $error if $error;
-  }
-
-  my $error = $cust_main->bill();
-  return $error if $error;
-}
-
-sub process_recon {
-  my ( $agentnum, $id ) = @_;
-  my @recs = split /;/, $id;
-  my $err = '';
-  foreach my $rec ( @recs ) {
-    my @record = split /,/, $rec;
-    my $result = process_recon_record(@record, $agentnum);
-    $err .= "$result\n" if $result;
-  }
-  return $err;
-}
-
-sub process_recon_record {
-  my ( $agent_custid, $username, $_password, $daytime, $first, $last, $address1, $address2, $city, $state, $zip, $pkg, $adjourn, $agentnum) = @_;
-
-  warn "process_recon_record called with '". join("','", @_). "'\n" if $DEBUG;
-
-  my ($cust_pkg, $package);
-
-  my $cust_main =
-    qsearchs( 'cust_main',
-              { 'agent_custid' => $agent_custid, 'agentnum' => $agentnum },
-            );
-
-  my $comments = '';
-  if ( $cust_main ) {
-    my @cust_pkg = grep { $_->part_pkg->freq } $cust_main->ncancelled_pkgs;
-    if ( scalar(@cust_pkg) == 1) {
-      $cust_pkg = pop(@cust_pkg);
-      $package = $cust_pkg->part_pkg->pkg;
-      $comments = "$agent_custid wrong package, expected: $pkg found: $package"
-        if ( $pkg ne $package );
-    } else {
-      $comments = "invalid account, should be one active package but found: ".
-                 scalar(@cust_pkg). " packages.";
-    }
-  } else {
-    $comments =
-      "Customer not found agent_custid=$agent_custid, agentnum=$agentnum";
-  }
-
-  my $cust_recon = new FS::cust_recon( {
-    'recondate'     => time,
-    'agentnum'      => $agentnum,
-    'first'         => $first,
-    'last'          => $last,
-    'address1'      => $address1,
-    'address2'      => $address2,
-    'city'          => $city,
-    'state'         => $state,
-    'zip'           => $zip,
-    'custnum'       => $cust_main ? $cust_main->custnum : '', #really?
-    'status'        => $cust_main ? $cust_main->status : '',
-    'pkg'           => $package,
-    'adjourn'       => $cust_pkg ? $cust_pkg->adjourn : '',
-    'agent_custid'  => $agent_custid, # redundant?
-    'agent_pkg'     => $pkg,
-    'agent_adjourn' => str2time($adjourn),
-    'comments'      => $comments,
-  } );
-
-  warn Dumper($cust_recon) if $DEBUG;
-  my $error = $cust_recon->insert;
-  return $error if $error;
-
-  warn "process_recon_record returning $comments\n" if $DEBUG;
-
-  $comments;
-
-}
-
-sub check_username {
-  my $p = shift;
-
-  my $session = _cache->get($p->{'session_id'})
-    or return { 'error' => "Can't resume session" }; #better error message
-
-  my $svc_domain = qsearchs( 'svc_domain', { 'domain' => $p->{domain} } )
-    or return { 'error' => 'Unknown domain '. $p->{domain} };
-
-  my $svc_acct = qsearchs( 'svc_acct', { 'username' => $p->{user},
-                                         'domsvc'   => $svc_domain->svcnum,
-                                       },
-                         );
-
-  return { 'error' => $p->{user}. '@'. $p->{domain}. " alerady in use" } # sic
-    if $svc_acct;
-
-  return { 'error'   => '',
-           'message' => $p->{user}. '@'. $p->{domain}. " is free"
-  };
-}
-
-1;
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index e8747f2..51a3f62 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -4613,23 +4613,6 @@ and customer address. Include units.',
   },
 
   {
-    'key'         => 'selfservice-bulk_format',
-    'section'     => 'deprecated',
-    'description' => 'Parameter arrangement for selfservice bulk features',
-    'type'        => 'select',
-    'select_enum' => [ '', 'izoom-soap', 'izoom-ftp' ],
-    'per_agent'   => 1,
-  },
-
-  {
-    'key'         => 'selfservice-bulk_ftp_dir',
-    'section'     => 'deprecated',
-    'description' => 'Enable bulk ftp provisioning in this folder',
-    'type'        => 'text',
-    'per_agent'   => 1,
-  },
-
-  {
     'key'         => 'signup-no_company',
     'section'     => 'self-service',
     'description' => "Don't display a field for company name on signup.",
diff --git a/FS/bin/freeside-selfservice-server b/FS/bin/freeside-selfservice-server
index c10623c..9df313f 100644
--- a/FS/bin/freeside-selfservice-server
+++ b/FS/bin/freeside-selfservice-server
@@ -108,31 +108,7 @@ while (1) {
       if ( $keepalives && $keepalive_count++ > 10 ) {
         $keepalive_count = 0;
         lock_write;
-
         nstore_fd( { _token => '_keepalive' }, $writer );
-
-#commenting izoom stuff out until we can move it to a branch (or just remove)
-#        foreach my $agent ( qsearch( 'agent', { disabled => '' } ) ) {
-#          my $config = qsearchs( 'conf', { name  => 'selfservice-bulk_ftp_dir',
-#                                           agentnum => $agent->agentnum,
-#                               } )
-#            or next;
-#
-#          my $session =
-#            FS::ClientAPI->dispatch( 'Agent/agent_login',
-#                                     { username => $agent->username,
-#                                       password => $agent->_password,
-#                                     }
-#            );
-#
-#          nstore_fd( { _token     => '_ftp_scan',
-#                       dir        => $config->value,
-#                       session_id => $session->{session_id},
-#                     },
-#                     $writer
-#          );
-#        }
-
         unlock_write;
       }
       next;

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/ClientAPI/Bulk.pm            |  384 ------------------------------------
 FS/FS/Conf.pm                      |   17 --
 FS/bin/freeside-selfservice-server |   24 ---
 3 files changed, 0 insertions(+), 425 deletions(-)
 delete mode 100644 FS/FS/ClientAPI/Bulk.pm




More information about the freeside-commits mailing list