[freeside-commits] freeside/FS/FS/part_pkg bulk.pm, 1.10.2.1, 1.10.2.2 discount_Mixin.pm, 1.1.2.1, 1.1.2.2 flat.pm, 1.53.2.3, 1.53.2.4 flat_introrate.pm, 1.3.6.1, 1.3.6.2
Mark Wells
mark at wavetail.420.am
Tue Jan 18 16:30:44 PST 2011
Update of /home/cvs/cvsroot/freeside/FS/FS/part_pkg
In directory wavetail.420.am:/tmp/cvs-serv13016/part_pkg
Modified Files:
Tag: FREESIDE_2_1_BRANCH
bulk.pm discount_Mixin.pm flat.pm flat_introrate.pm
Log Message:
intro periods and DST, RT#11018
Index: bulk.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/part_pkg/bulk.pm,v
retrieving revision 1.10.2.1
retrieving revision 1.10.2.2
diff -u -w -d -r1.10.2.1 -r1.10.2.2
--- bulk.pm 24 Dec 2010 09:49:48 -0000 1.10.2.1
+++ bulk.pm 19 Jan 2011 00:30:41 -0000 1.10.2.2
@@ -45,7 +45,7 @@
my $last_bill = $cust_pkg->last_bill;
- return sprintf("%.2f", $self->base_recur($cust_pkg) )
+ return sprintf("%.2f", $self->base_recur($cust_pkg, $sdate) )
unless $$sdate > $last_bill;
my $total_svc_charge = 0;
@@ -113,7 +113,7 @@
}
}
- sprintf('%.2f', $self->base_recur($cust_pkg) + $total_svc_charge );
+ sprintf('%.2f', $self->base_recur($cust_pkg, $sdate) + $total_svc_charge );
}
sub can_discount { 0; }
Index: flat_introrate.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/part_pkg/flat_introrate.pm,v
retrieving revision 1.3.6.1
retrieving revision 1.3.6.2
diff -u -w -d -r1.3.6.1 -r1.3.6.2
--- flat_introrate.pm 24 Dec 2010 09:49:49 -0000 1.3.6.1
+++ flat_introrate.pm 19 Jan 2011 00:30:41 -0000 1.3.6.2
@@ -4,8 +4,6 @@
use vars qw(@ISA %info $DEBUG $me);
use FS::part_pkg::flat;
-use Date::Manip qw(DateCalc UnixDate ParseDate);
-
@ISA = qw(FS::part_pkg::flat);
$me = '[' . __PACKAGE__ . ']';
$DEBUG = 0;
@@ -31,29 +29,21 @@
sub base_recur {
my($self, $cust_pkg, $time ) = @_;
+ warn "flat_introrate base_recur requires date!" if !$time;
my $now = $time ? $$time : time;
my ($duration) = ($self->option('intro_duration') =~ /^(\d+)$/);
unless ($duration) {
die "Invalid intro_duration: " . $self->option('intro_duration');
}
+ my $intro_end = $self->add_freq($cust_pkg->setup, $duration);
- my $setup = &ParseDate('epoch ' . $cust_pkg->getfield('setup'));
- my $intro_end = &DateCalc($setup, "+${duration} month");
- my $recur;
-
- warn "$me: \$duration = ${duration}" if $DEBUG;
- warn "$me: \$intro_end = ${intro_end}" if $DEBUG;
- warn "$me: $now < " . &UnixDate($intro_end, '%s') if $DEBUG;
-
- if ($now < &UnixDate($intro_end, '%s')) {
- $recur = $self->option('intro_fee');
+ if ($now < $intro_end) {
+ return $self->option('intro_fee');
} else {
- $recur = $self->option('recur_fee');
+ return $self->option('recur_fee');
}
- $recur;
-
}
Index: flat.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/part_pkg/flat.pm,v
retrieving revision 1.53.2.3
retrieving revision 1.53.2.4
diff -u -w -d -r1.53.2.3 -r1.53.2.4
--- flat.pm 8 Jan 2011 01:40:32 -0000 1.53.2.3
+++ flat.pm 19 Jan 2011 00:30:41 -0000 1.53.2.4
@@ -167,7 +167,7 @@
my $freq_sec = $1 * $sec{$2||'m'};
return 0 unless $freq_sec;
- sprintf("%.2f", $self->base_recur($cust_pkg) * ( $next_bill - $time ) / $freq_sec );
+ sprintf("%.2f", $self->base_recur($cust_pkg, \$time) * ( $next_bill - $time ) / $freq_sec );
}
Index: discount_Mixin.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/part_pkg/discount_Mixin.pm,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -w -d -r1.1.2.1 -r1.1.2.2
--- discount_Mixin.pm 18 Jan 2011 05:21:09 -0000 1.1.2.1
+++ discount_Mixin.pm 19 Jan 2011 00:30:41 -0000 1.1.2.2
@@ -41,7 +41,7 @@
sub calc_discount {
my($self, $cust_pkg, $sdate, $details, $param ) = @_;
- my $br = $self->base_recur($cust_pkg);
+ my $br = $self->base_recur($cust_pkg, $sdate);
$br += $param->{'override_charges'} if $param->{'override_charges'};
my $tot_discount = 0;
More information about the freeside-commits
mailing list