projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RT# 79284 Option to set discount at Change Package
[freeside.git]
/
httemplate
/
edit
/
process
/
change-cust_pkg.html
diff --git
a/httemplate/edit/process/change-cust_pkg.html
b/httemplate/edit/process/change-cust_pkg.html
index
e1b220e
..
0b36e90
100644
(file)
--- a/
httemplate/edit/process/change-cust_pkg.html
+++ b/
httemplate/edit/process/change-cust_pkg.html
@@
-40,6
+40,12
@@
if ( $cgi->param('locationnum') == -1 ) {
$change{'cust_location'} = $cust_location;
}
$change{'cust_location'} = $cust_location;
}
+my %discount = (discountnum => $cgi->param('discountnum'));
+if (%discount) {
+ $discount{$_} = $cgi->param("discountnum_$_")
+ for qw(_type amount months percent setup);
+}
+
my $error;
my $now = time;
if (defined($cgi->param('contract_end'))) {
my $error;
my $now = time;
if (defined($cgi->param('contract_end'))) {
@@
-56,6
+62,7
@@
unless ($error) {
} else {
# schedule the change
$change{'start_date'} = $date;
} else {
# schedule the change
$change{'start_date'} = $date;
+ $change{discount} = \%discount if %discount;
$error = $cust_pkg->change_later(\%change);
}
} else {
$error = $cust_pkg->change_later(\%change);
}
} else {
@@
-74,9
+81,11
@@
unless ($error) {
%change = ( 'cust_pkg' => $change_to );
}
}
%change = ( 'cust_pkg' => $change_to );
}
}
-
+
# do a package change right now
my $pkg_or_error = $cust_pkg->change( \%change );
# do a package change right now
my $pkg_or_error = $cust_pkg->change( \%change );
+ $pkg_or_error->change_discount(\%discount)
+ if ref $pkg_or_error && $discount{discountnum} =~ /$-?\d+$/;
$error = ref($pkg_or_error) ? '' : $pkg_or_error;
}
}
$error = ref($pkg_or_error) ? '' : $pkg_or_error;
}
}