[freeside-commits] branch master updated. ad4bf730d6e96f0acf589c00ff31eaa64f60b0b7

Ivan ivan at 420.am
Thu Jan 16 01:46:46 PST 2014


The branch, master has been updated
       via  ad4bf730d6e96f0acf589c00ff31eaa64f60b0b7 (commit)
       via  39997db2139f32a84f4a1d1db2ee0cdd82bb9dfa (commit)
      from  9fccafa7662f8eac572939f64867e625945a1c92 (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 ad4bf730d6e96f0acf589c00ff31eaa64f60b0b7
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Thu Jan 16 01:46:44 2014 -0800

    don't allow a start date for packages definitions with prorate_defer_bill, RT#25650

diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm
index 7bc44e1..1594a13 100644
--- a/FS/FS/part_pkg/flat.pm
+++ b/FS/FS/part_pkg/flat.pm
@@ -269,7 +269,15 @@ sub is_free_options {
 
 sub is_prepaid { 0; } #no, we're postpaid
 
-sub can_start_date { ! shift->option('start_1st', 1) }
+sub can_start_date {
+  my $self = shift;
+  my %opt = @_;
+
+  ! $self->option('start_1st', 1) && (   ! $self->option('sync_bill_date',1)
+                                      || ! $self->option('prorate_defer_bill',1)
+                                      || ! $opt{'num_ncancelled_pkgs'}
+                                     ); 
+}
 
 sub can_discount { 1; }
 
diff --git a/httemplate/misc/cust-part_pkg.cgi b/httemplate/misc/cust-part_pkg.cgi
index 54973bc..afe8e42 100644
--- a/httemplate/misc/cust-part_pkg.cgi
+++ b/httemplate/misc/cust-part_pkg.cgi
@@ -39,6 +39,14 @@ my $default_start_date = $conf->exists('order_pkg-no_start_date')
                            ? ''
                            : $cust_main->next_bill_date;
 
+#num_billing_pkgs may be slightly better (will allow you to fill in a start
+# date in the weird edge case where you're using sync_next_bill and
+# prorate_defer_bill in flat.pm and there's one-time charges hanging around
+# for this customer but no active ones)
+#but we don't have an easy method for that, and definitely don't want to pull
+# all package objects
+my $num_ncancelled_pkgs = $cust_main ? $cust_main->num_ncancelled_pkgs : 0;
+
 my @return = map  {
                     my $start_date = $_->delay_start_date
                                    || $default_start_date;
@@ -47,7 +55,9 @@ my @return = map  {
                     ( $_->pkgpart,
                       $_->pkg_comment,
                       $_->can_discount,
-                      $_->can_start_date,
+                      $_->can_start_date(
+                        num_ncancelled_pkgs => $num_ncancelled_pkgs,
+                      ),
                       $start_date,
                     )
                   }

commit 39997db2139f32a84f4a1d1db2ee0cdd82bb9dfa
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Thu Jan 16 01:45:07 2014 -0800

    fix part_pkg.comment showing in signup and self-service package order, RT#25557

diff --git a/FS/FS/ClientAPI/MasonComponent.pm b/FS/FS/ClientAPI/MasonComponent.pm
index c4094ff..8a31185 100644
--- a/FS/FS/ClientAPI/MasonComponent.pm
+++ b/FS/FS/ClientAPI/MasonComponent.pm
@@ -99,6 +99,7 @@ my %session_callbacks = (
     my %args = @$argsref;
     $args{part_pkg} = \@part_pkg;
     $args{first_svc} = \@first_svc;
+    $args{no_comment} = 1;
     @$argsref = ( %args );
     return ''; #no error
 
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm
index 8e65c50..e7f08d2 100644
--- a/FS/FS/part_pkg.pm
+++ b/FS/FS/part_pkg.pm
@@ -841,6 +841,11 @@ sub custom_comment {
     ($price_info || 'No charge');
 }
 
+sub pkg_price_info {
+  my $self = shift;
+  $self->pkg. ' - '. ($self->price_info || 'No charge');
+}
+
 =item pkg_class
 
 Returns the package class, as an FS::pkg_class object, or the empty string
diff --git a/httemplate/edit/cust_main/first_pkg/select-part_pkg.html b/httemplate/edit/cust_main/first_pkg/select-part_pkg.html
index 4f89140..5f7b688 100644
--- a/httemplate/edit/cust_main/first_pkg/select-part_pkg.html
+++ b/httemplate/edit/cust_main/first_pkg/select-part_pkg.html
@@ -144,8 +144,9 @@ foreach my $part_pkg ( @part_pkg ) {
 my @options = ();
 push @options, '' unless $opt{'disable_empty'};
 push @options, map $pkgpart_svcpart{ $_->pkgpart }, @part_pkg;
+my $label_method = $opt{no_comment} ? 'pkg_price_info' : 'pkg_comment' ;
 my %labels = ( '' => ( $opt{'empty_label'} || '(none)' ),
-               map { $pkgpart_svcpart{ $_->pkgpart } => $_->pkg_comment }
+               map { $pkgpart_svcpart{ $_->pkgpart } => $_->$label_method() }
                    @part_pkg
              );
 

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

Summary of changes:
 FS/FS/ClientAPI/MasonComponent.pm                  |    1 +
 FS/FS/part_pkg.pm                                  |    5 +++++
 FS/FS/part_pkg/flat.pm                             |   10 +++++++++-
 .../edit/cust_main/first_pkg/select-part_pkg.html  |    3 ++-
 httemplate/misc/cust-part_pkg.cgi                  |   12 +++++++++++-
 5 files changed, 28 insertions(+), 3 deletions(-)




More information about the freeside-commits mailing list