[freeside-commits] freeside/FS/FS/part_pkg prorate_Mixin.pm, 1.5.2.4, 1.5.2.5

Mark Wells mark at wavetail.420.am
Thu Jun 16 15:07:44 PDT 2011


Update of /home/cvs/cvsroot/freeside/FS/FS/part_pkg
In directory wavetail.420.am:/tmp/cvs-serv18895/FS/FS/part_pkg

Modified Files:
      Tag: FREESIDE_2_1_BRANCH
	prorate_Mixin.pm 
Log Message:
better calculation of prorate rounding, #13299

Index: prorate_Mixin.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/part_pkg/prorate_Mixin.pm,v
retrieving revision 1.5.2.4
retrieving revision 1.5.2.5
diff -u -w -d -r1.5.2.4 -r1.5.2.5
--- prorate_Mixin.pm	11 Jan 2011 00:56:25 -0000	1.5.2.4
+++ prorate_Mixin.pm	16 Jun 2011 22:07:42 -0000	1.5.2.5
@@ -55,7 +55,13 @@
     my $mnow = $$sdate;
     my ($sec, $min, $hour, $mday, $mon, $year) = (localtime($mnow))[0..5];
     if( $self->option('prorate_round_day',1) ) {
-      $mday++ if $hour >= 12;
+      # If the time is 12:00-23:59, move to the next day by adding 18 
+      # hours to $mnow.  Because of DST this can end up from 05:00 to 18:59
+      # but it's always within the next day.
+      $mnow += 64800 if $hour >= 12;
+      # Get the new day, month, and year.
+      ($mday,$mon,$year) = (localtime($mnow))[3..5];
+      # Then set $mnow to midnight on that date.
       $mnow = timelocal(0,0,0,$mday,$mon,$year);
     }
     my $mend;



More information about the freeside-commits mailing list