From: Christopher Burger Date: Wed, 22 Feb 2017 18:36:15 +0000 (-0500) Subject: RT# 24643, added waive setup fee option to change package screen. X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=e122171357abcfb53719a23ffeb8345e1c88381d RT# 24643, added waive setup fee option to change package screen. Conflicts: httemplate/edit/process/change-cust_pkg.html --- diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 91c5bd3eb..c95d31b4d 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -2363,13 +2363,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 046a9795c..3d50a134e 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'))) { @@ -68,7 +78,9 @@ unless ($error) { $change_to->pkgpart == $change{'pkgpart'} and $change_to->locationnum == $change{'locationnum'} and $change_to->quantity == $change{'quantity'} and - $change_to->contract_end == $change{'contract_end'} + $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 e74747e82..13fc05016 100755 --- a/httemplate/misc/change_pkg.cgi +++ b/httemplate/misc/change_pkg.cgi @@ -72,6 +72,16 @@
+% 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 ) { + <% mt('Discounting') |h %> + <% ntable("#cccccc") %> + <& /elements/tr-select-pkg-discount.html, disable_recur => 1, &> +
+ +% } <% mt('Location') |h %> <% ntable('#cccccc') %>