RT# 24643, added waive setup fee option to change package screen.
authorChristopher Burger <burgerc@freeside.biz>
Wed, 22 Feb 2017 18:36:15 +0000 (13:36 -0500)
committerChristopher Burger <burgerc@freeside.biz>
Wed, 22 Feb 2017 18:36:15 +0000 (13:36 -0500)
FS/FS/cust_pkg.pm
httemplate/edit/process/change-cust_pkg.html
httemplate/misc/change_pkg.cgi

index fdb6261..1d0cc4f 100644 (file)
@@ -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->{$_});
       }
index 5ca0c3c..a90693c 100644 (file)
@@ -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 );
index e3ef4b7..3237845 100755 (executable)
 </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') %>