summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/cust_pkg.pm5
-rw-r--r--httemplate/edit/process/change-cust_pkg.html5
-rwxr-xr-xhttemplate/misc/change_pkg.cgi17
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') %>