Merge branch 'master' of git.freeside.biz:/home/git/freeside
authorIvan Kohler <ivan@freeside.biz>
Wed, 11 Dec 2013 04:59:42 +0000 (20:59 -0800)
committerIvan Kohler <ivan@freeside.biz>
Wed, 11 Dec 2013 04:59:42 +0000 (20:59 -0800)
Conflicts:
FS/FS/Mason.pm
FS/MANIFEST

FS/FS/ClientAPI/MyAccount.pm
FS/FS/Conf.pm
FS/FS/Mason.pm
FS/FS/part_export/bulkvs_e911.pm
FS/MANIFEST
FS/bin/freeside-setup
bin/cust_pkg-restore_setup
fs_selfservice/php/freeside_signup_example.php
httemplate/edit/cust_main/billing.html

index a580991..aa21ac0 100644 (file)
@@ -7,6 +7,7 @@ use subs qw( _cache _provision );
 use IO::Scalar;
 use Data::Dumper;
 use Digest::MD5 qw(md5_hex);
+use Digest::SHA qw(sha512_hex);
 use Date::Format;
 use Time::Duration;
 use Time::Local qw(timelocal_nocheck);
@@ -278,7 +279,7 @@ sub login {
 
   my $session_id;
   do {
-    $session_id = md5_hex(md5_hex(time(). {}. rand(). $$))
+    $session_id = sha512_hex(time(). {}. rand(). $$)
   } until ( ! defined _cache->get($session_id) ); #just in case
 
   my $timeout = $conf->config('selfservice-session_timeout') || '1 hour';
@@ -2896,7 +2897,7 @@ sub reset_passwd {
 
   my $reset_session_id;
   do {
-    $reset_session_id = md5_hex(md5_hex(time(). {}. rand(). $$))
+    $reset_session_id = sha512_hex(time(). {}. rand(). $$)
   } until ( ! defined _cache->get("reset_passwd_$reset_session_id") ); #just in case
 
   _cache->set( "reset_passwd_$reset_session_id", $reset_session, $timeout );
index 0eed8ee..301d972 100644 (file)
@@ -2150,7 +2150,7 @@ and customer address. Include units.',
     'section'     => 'self-service',
     'description' => 'Acceptable payment types for the signup server',
     'type'        => 'selectmultiple',
-    'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB PREPAY PPAL BILL COMP) ],
+    'select_enum' => [ qw(CARD DCRD CHEK DCHK PREPAY PPAL BILL COMP) ],
   },
 
   {
@@ -2538,7 +2538,7 @@ and customer address. Include units.',
     'section'     => 'billing',
     'description' => 'Available payment types.',
     'type'        => 'selectmultiple',
-    'select_enum' => [ qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD PPAL COMP) ],
+    'select_enum' => [ qw(CARD DCRD CHEK DCHK BILL CASH WEST MCRD PPAL COMP) ],
   },
 
   {
@@ -2546,7 +2546,7 @@ and customer address. Include units.',
     'section'     => 'UI',
     'description' => 'Default payment type.  HIDE disables display of billing information and sets customers to BILL.',
     'type'        => 'select',
-    'select_enum' => [ '', qw(CARD DCRD CHEK DCHK LECB BILL CASH WEST MCRD PPAL COMP HIDE) ],
+    'select_enum' => [ '', qw(CARD DCRD CHEK DCHK BILL CASH WEST MCRD PPAL COMP HIDE) ],
   },
 
   {
index fefa1bc..4e9c4f1 100644 (file)
@@ -358,6 +358,9 @@ if ( -e $addl_handler_use_file ) {
   use FS::cable_provider;
   use FS::cust_credit_void;
   use FS::discount_class;
+  use FS::alarm_system;
+  use FS::alarm_type;
+  use FS::alarm_station;
   use FS::addr_range;
   # Sammath Naur
 
index c66305b..a8af3a0 100644 (file)
@@ -57,7 +57,7 @@ sub _export_insert {
   my ($self, $svc_phone) = @_;
   my @login = $self->login;
 
-  my $location = $svc_phone->cust_location
+  my $location = $svc_phone->cust_location_or_main
     or return 'no e911 location defined for this phone service';
 
   warn "$me validating address for svcnum ".$svc_phone->svcnum."\n"
index 0b36e24..1f2dfcc 100644 (file)
@@ -729,5 +729,11 @@ FS/cust_credit_void.pm
 t/cust_credit_void.t
 FS/discount_class.pm
 t/discount_class.t
+FS/alarm_system.pm
+t/alarm_system.t
+FS/alarm_type.pm
+t/alarm_type.t
+FS/alarm_station.pm
+t/alarm_station.t
 FS/addr_range.pm
 t/addr_range.t
index 07da88d..a6908e1 100755 (executable)
@@ -37,51 +37,8 @@ getsecrets();
 #needs to match FS::Record
 my($dbdef_file) = "%%%FREESIDE_CONF%%%/dbdef.". datasrc;
 
-###
-
 my $username_len = 32;
 
-#print "\n\n", <<END, ":";
-#Freeside tracks the RADIUS User-Name, check attribute Password and
-#reply attribute Framed-IP-Address for each user.  You can specify additional
-#check and reply attributes (or you can add them later with the
-#fs-radius-add-check and fs-radius-add-reply programs).
-#
-#First enter any additional RADIUS check attributes you need to track for each 
-#user, separated by whitespace.
-#END
-#my @check_attributes = map { $attrib2db{lc($_)} or die "unknown attribute $_"; }
-#                         split(" ",&getvalue);
-#
-#print "\n\n", <<END, ":";
-#Now enter any additional reply attributes you need to track for each user,
-#separated by whitespace.
-#END
-#my @attributes = map { $attrib2db{lc($_)} or die "unknown attribute $_"; }
-#                   split(" ",&getvalue);
-#
-#print "\n\n", <<END, ":";
-#Do you wish to enable the tracking of a second, separate shipping/service
-#address?
-#END
-#my $ship = &_yesno;
-#
-#sub getvalue {
-#  my($x)=scalar(<STDIN>);
-#  chop $x;
-#  $x;
-#}
-#
-#sub _yesno {
-#  print " [y/N]:";
-#  my $x = scalar(<STDIN>);
-#  $x =~ /^y/i;
-#}
-
-#my @check_attributes = (); #add later
-#my @attributes = (); #add later
-#my $ship = $opt_s;
-
 ###
 # create a dbdef object from the old data structure
 ###
index 5467ead..a3761d1 100755 (executable)
@@ -23,7 +23,7 @@ my $oldAutoCommit = $FS::UID::AutoCommit;
 local $FS::UID::AutoCommit = 0;
 my $dbh = dbh;
 
-my $fuzz = 2;
+#my $fuzz = 2;
 
 my $changed = 0;
 
@@ -35,14 +35,10 @@ foreach my $cust_pkg (
          })
 ) {
 
-  #XXX only canceled packages?
-  #XXX only suspended packages?
-
   my $h_cust_pkg =
     qsearchs({ table       => 'h_cust_pkg',
                hashref     => { 
                                 pkgnum         => $cust_pkg->pkgnum,
-                                history_action => 'replace_old',
                                 setup          => { op=>'!=', value=>'' },
                                 ($opt_u ? ('susp' => { op=>'!=', value=>'' })
                                         : ()
@@ -51,7 +47,8 @@ foreach my $cust_pkg (
                                         : ()
                                 ),
                               },
-               extra_sql   => ' AND history_date >= ? AND history_date <= ? ',
+               extra_sql   => " AND history_action IN ('insert','replace_old')".
+                              ' AND history_date >= ? AND history_date <= ? ',
                extra_param => [ [$sdate,'int'], [$edate,'int'] ],
                order_by    => 'ORDER BY history_date DESC LIMIT 1',
             })
@@ -60,14 +57,20 @@ foreach my $cust_pkg (
   $changed++;
 
   #if ( $opt_r ) {
-    print "restoring setup for pkgnum ". $cust_pkg->pkgnum.
-          " (custnum ". $cust_pkg->custnum.
-          ") to ". time2str('%D', $h_cust_pkg->setup). "\n";
+    #print "restoring setup for pkgnum ". $cust_pkg->pkgnum.
+    #      " (custnum ". $cust_pkg->custnum.
+    #      ") to ". time2str('%D', $h_cust_pkg->setup). "\n";
+    print $cust_pkg->pkgnum. ','.
+          time2str('%D', $h_cust_pkg->setup). ','.
+          $cust_pkg->custnum. ','.
+          '"'. $cust_pkg->cust_main->name. '"'. "\n";
   #}
 
-  $cust_pkg->set('setup', $h_cust_pkg->setup);
-  my $error = $cust_pkg->replace;
-  die $error if $error;
+  #don't actually do it yet ...
+  #$cust_pkg->set('setup', $h_cust_pkg->setup);
+  #my $error = $cust_pkg->replace;
+  ##die $error if $error;
+  #warn "error changing pkgnum ". $cust_pkg->pkgnum.': '. $error."\n";
 
 }
 
index 8b1dc19..4805877 100644 (file)
@@ -34,7 +34,7 @@ if ( ! $error ) {
 
     $custnum = $response['custnum'];
 
-    error_log("[new_customer] signup up with custnum $custnum");
+    error_log("[new_customer] new signup with custnum $custnum");
 
 } else {
 
index da5f0f2..1088cf5 100644 (file)
@@ -679,8 +679,8 @@ my $conf = new FS::Conf;
 my $payby_default = $conf->config('payby-default');
 
 my @payby = grep /\w/, $conf->config('payby');
-#@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP ))
-@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH COMP ))
+#@payby = (qw( CARD DCRD CHEK DCHK BILL CASH WEST COMP ))
+@payby = (qw( CARD DCRD CHEK DCHK BILL CASH COMP ))
   unless @payby;
 
 my $show_term = '';