diff options
-rw-r--r-- | FS/FS/cust_pkg.pm | 5 | ||||
-rw-r--r-- | httemplate/edit/process/change-cust_pkg.html | 5 | ||||
-rwxr-xr-x | httemplate/misc/change_pkg.cgi | 17 |
3 files changed, 24 insertions, 3 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 91c5bd3eb..b2cc874a4 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -2363,13 +2363,16 @@ sub change { $same_pkgpart = 0; } + if ($opt->{'waive_setup'}) { $self->set('waive_setup', $opt->{'waive_setup'}) } + else { $self->set('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..e1b220e51 100644 --- a/httemplate/edit/process/change-cust_pkg.html +++ b/httemplate/edit/process/change-cust_pkg.html @@ -27,7 +27,7 @@ my $cust_pkg = qsearchs({ die 'unknown pkgnum' unless $cust_pkg; my %change = map { $_ => scalar($cgi->param($_)) } - qw( locationnum pkgpart quantity ); + qw( locationnum pkgpart quantity waive_setup); $change{'keep_dates'} = 1; @@ -68,7 +68,8 @@ 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'} ) { %change = ( 'cust_pkg' => $change_to ); } diff --git a/httemplate/misc/change_pkg.cgi b/httemplate/misc/change_pkg.cgi index e74747e82..94f32e699 100755 --- a/httemplate/misc/change_pkg.cgi +++ b/httemplate/misc/change_pkg.cgi @@ -72,6 +72,23 @@ </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") %> + +% if ( $waive_setup_fee ) { + <TR> + <TH ALIGN="right"><% mt('Waive setup fee') |h %> </TH> + <TD COLSPAN=6><INPUT TYPE="checkbox" NAME="waive_setup" VALUE="Y"></TD> + </TR> +% } + + </TABLE><BR> + +% } <FONT CLASS="fsinnerbox-title"><% mt('Location') |h %></FONT> <% ntable('#cccccc') %> |