[freeside-commits] branch FREESIDE_3_BRANCH updated. 47d47f7b4a77761d5617a64212d6b1460fa27adf
Ivan
ivan at 420.am
Tue Sep 10 22:20:02 PDT 2013
The branch, FREESIDE_3_BRANCH has been updated
via 47d47f7b4a77761d5617a64212d6b1460fa27adf (commit)
from a3371bd505dfc1b7791cfe681aa33afb1f77e063 (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 47d47f7b4a77761d5617a64212d6b1460fa27adf
Author: Ivan Kohler <ivan at freeside.biz>
Date: Tue Sep 10 22:19:56 2013 -0700
improve performance of package ordering, RT#24955, fallout from future start dates, RT#20686
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm
index 3b4aaf5..3e63338 100644
--- a/FS/FS/part_pkg.pm
+++ b/FS/FS/part_pkg.pm
@@ -1029,32 +1029,15 @@ sub can_discount { 0; }
# whether the plan allows changing the start date
sub can_start_date { 1; }
-# the default start date; takes an FS::cust_main as an argument
-sub default_start_date {
+# the delay start date if present
+sub delay_start_date {
my $self = shift;
- my $cust_main = shift;
- my $conf = FS::Conf->new;
- if ( $self->delay_start ) {
- my $delay = $self->delay_start;
+ my $delay = $self->delay_start or return '';
- my ($mday,$mon,$year) = (localtime(time))[3,4,5];
- my $start_date = timelocal(0,0,0,$mday,$mon,$year) + 86400 * $delay;
- return $start_date;
+ my ($mday,$mon,$year) = (localtime(time))[3,4,5];
+ timelocal(0,0,0,$mday,$mon,$year) + 86400 * $delay;
- } elsif ( $conf->exists('order_pkg-no_start_date') ) {
-
- return '';
-
- } elsif ( $cust_main ) {
-
- return $cust_main->next_bill_date;
-
- } else {
-
- return '';
-
- }
}
sub freqs_href {
diff --git a/httemplate/misc/cust-part_pkg.cgi b/httemplate/misc/cust-part_pkg.cgi
index 7aebda4..6c4524c 100644
--- a/httemplate/misc/cust-part_pkg.cgi
+++ b/httemplate/misc/cust-part_pkg.cgi
@@ -3,7 +3,6 @@
my( $custnum, $prospectnum, $classnum ) = $cgi->param('arg');
-
my $agent;
my $cust_main;
if ( $custnum ) {
@@ -32,10 +31,17 @@ my @part_pkg = qsearch({
'order_by' => 'ORDER BY pkg',
});
-my $date_format = FS::Conf->new->config('date_format') || '%m/%d/%Y';
+my $conf = new FS::Conf;
+
+my $date_format = $conf->config('date_format') || '%m/%d/%Y';
+
+my $default_start_date = $conf->exists('order_pkg-no_start-date')
+ ? ''
+ : $cust_main->next_bill_date;
my @return = map {
- my $start_date = $_->default_start_date($cust_main);
+ my $start_date = $_->delay_start_date
+ || $default_start_date;
$start_date = time2str($date_format, $start_date)
if $start_date;
( $_->pkgpart,
-----------------------------------------------------------------------
Summary of changes:
FS/FS/part_pkg.pm | 27 +++++----------------------
httemplate/misc/cust-part_pkg.cgi | 12 +++++++++---
2 files changed, 14 insertions(+), 25 deletions(-)
More information about the freeside-commits
mailing list