[freeside-commits] branch master updated. 5f2c3a88d92952d13a5231a230e332e1a8e94016

Christopher Burger burgerc at 420.am
Wed Feb 22 10:37:24 PST 2017


The branch, master has been updated
       via  5f2c3a88d92952d13a5231a230e332e1a8e94016 (commit)
      from  7eb4daaa7d76c7195d0bf357a99ccf4ee1962b8a (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 5f2c3a88d92952d13a5231a230e332e1a8e94016
Author: Christopher Burger <burgerc at freeside.biz>
Date:   Wed Feb 22 13:36:15 2017 -0500

    RT# 24643, added waive setup fee option to change package screen.

diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index fdb6261..1d0cc4f 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -2346,13 +2346,15 @@ sub change {
     $same_pkgpart = 0;
   }
 
+  $self->set('waive_setup', $opt->{'waive_setup'}) if $opt->{'waive_setup'};
+
   # Before going any further here: if the package is still in the pre-setup
   # state, it's safe to modify it in place. No need to charge/credit for 
   # partial period, transfer usage pools, copy invoice details, or change any
   # dates. We DO need to "transfer" services (from the package to itself) to
   # check their validity on the new pkgpart.
   if ( ! $self->setup and ! $opt->{cust_pkg} and ! $opt->{cust_main} ) {
-    foreach ( qw( locationnum pkgpart quantity refnum salesnum ) ) {
+    foreach ( qw( locationnum pkgpart quantity refnum salesnum waive_setup ) ) {
       if ( length($opt->{$_}) ) {
         $self->set($_, $opt->{$_});
       }
diff --git a/httemplate/edit/process/change-cust_pkg.html b/httemplate/edit/process/change-cust_pkg.html
index 5ca0c3c..a90693c 100644
--- a/httemplate/edit/process/change-cust_pkg.html
+++ b/httemplate/edit/process/change-cust_pkg.html
@@ -40,6 +40,16 @@ if ( $cgi->param('locationnum') == -1 ) {
   $change{'cust_location'} = $cust_location;
 }
 
+if ( $cgi->param('setup_discountnum') =~ /^(-?\d+)$/ ) { 
+  if ( $1 == -2 ) {
+    $change{waive_setup} = 'Y';
+  } else {
+    $change{setup_discountnum} = $1;
+    $change{setup_discountnum_amount} = $cgi->param('setup_discountnum_amount');
+    $change{setup_discountnum_percent} = $cgi->param('setup_discountnum_percent');
+  }
+}
+
 my $error;
 my $now = time;
 if (defined($cgi->param('contract_end'))) {
@@ -103,6 +113,7 @@ unless ($error) {
         $change_to->locationnum  == $change{'locationnum'} and
         $change_to->quantity     == $change{'quantity'} and
         $change_to->contract_end == $change{'contract_end'} and
+        $change_to->waive_setup  == $change{'waive_setup'} and
         !$usagechanged
       ) {
         %change = ( 'cust_pkg' => $change_to );
diff --git a/httemplate/misc/change_pkg.cgi b/httemplate/misc/change_pkg.cgi
index e3ef4b7..3237845 100755
--- a/httemplate/misc/change_pkg.cgi
+++ b/httemplate/misc/change_pkg.cgi
@@ -84,6 +84,16 @@
 </TABLE>
 </BR>
 
+% my $discount_cust_pkg = $curuser->access_right('Discount customer package');
+% my $waive_setup_fee   = $curuser->access_right('Waive setup fee');
+%
+% if ( $discount_cust_pkg || $waive_setup_fee ) {
+  <FONT CLASS="fsinnerbox-title"><% mt('Discounting') |h %></FONT>
+  <% ntable("#cccccc") %>
+    <& /elements/tr-select-pkg-discount.html, disable_recur => 1, &>
+  </TABLE><BR>
+
+% }
 
 <FONT CLASS="fsinnerbox-title"><% mt('Location') |h %></FONT>
 <% ntable('#cccccc') %>

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

Summary of changes:
 FS/FS/cust_pkg.pm                            |    4 +++-
 httemplate/edit/process/change-cust_pkg.html |   11 +++++++++++
 httemplate/misc/change_pkg.cgi               |   10 ++++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)




More information about the freeside-commits mailing list