[freeside-commits] branch master updated. b5d22578f60ba105934c92c031799671bf6c0f29

Mark Wells mark at 420.am
Thu Sep 19 13:34:14 PDT 2013


The branch, master has been updated
       via  b5d22578f60ba105934c92c031799671bf6c0f29 (commit)
      from  0e7d79b663203cf83f2b14ade82b8fd0e6b389aa (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 b5d22578f60ba105934c92c031799671bf6c0f29
Author: Mark Wells <mark at freeside.biz>
Date:   Thu Sep 19 13:34:02 2013 -0700

    more accurate calculation of package start delays, #20686

diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm
index e187425..9e3b67e 100644
--- a/FS/FS/part_pkg.pm
+++ b/FS/FS/part_pkg.pm
@@ -5,7 +5,8 @@ use strict;
 use vars qw( %plans $DEBUG $setup_hack $skip_pkg_svc_hack );
 use Carp qw(carp cluck confess);
 use Scalar::Util qw( blessed );
-use Time::Local qw( timelocal timelocal_nocheck );
+use DateTime;
+use Time::Local qw( timelocal timelocal_nocheck ); # eventually replace with DateTime
 use Tie::IxHash;
 use FS::Conf;
 use FS::Record qw( qsearch qsearchs dbh dbdef );
@@ -1094,10 +1095,11 @@ sub delay_start_date {
   my $self = shift;
 
   my $delay = $self->delay_start or return '';
-    
-  my ($mday,$mon,$year) = (localtime(time))[3,4,5];
-  timelocal(0,0,0,$mday,$mon,$year) + 86400 * $delay;
 
+  # avoid timelocal silliness  
+  my $dt = DateTime->today(time_zone => 'local');
+  $dt->add(days => $delay);
+  $dt->epoch;
 }
 
 sub can_currency_exchange { 0; }

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

Summary of changes:
 FS/FS/part_pkg.pm |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)




More information about the freeside-commits mailing list