summaryrefslogtreecommitdiff
path: root/FS/FS
diff options
context:
space:
mode:
authorMitch Jackson <mitch@freeside.biz>2018-11-27 15:39:01 -0500
committerMitch Jackson <mitch@freeside.biz>2018-11-27 15:44:05 -0500
commit28051580bf12b079a4631647a5c0defc7f55c9dc (patch)
tree913528ed9861660fe387ff0bf72db10ee7663d73 /FS/FS
parent0339cd666b4c39ef3772f1d28dc3a5f30f422966 (diff)
RT# 32243 Package Bulk Edit UI Update
Diffstat (limited to 'FS/FS')
-rw-r--r--FS/FS/cust_pkg.pm21
1 files changed, 20 insertions, 1 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index f29ab9f..d39dbbb 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -5614,6 +5614,8 @@ sub _X_show_zero {
=item order CUSTNUM, PKGPARTS_ARYREF, [ REMOVE_PKGNUMS_ARYREF [ RETURN_CUST_PKG_ARRAYREF [ REFNUM ] ] ]
+=item order \%PARAMS
+
Bulk cancel + order subroutine. Perhaps slightly deprecated, only used by the
bulk cancel+order in the web UI and nowhere else (edit/process/cust_pkg.cgi)
@@ -5638,10 +5640,25 @@ setting I<refnum> to an array reference of refnums or a hash reference with
refnums as keys. If no I<refnum> is defined, a default FS::pkg_referral
record will be created corresponding to cust_main.refnum.
+LOCATIONNUM, if specified, will be set on newly created cust_pkg records
+
=cut
sub order {
- my ($custnum, $pkgparts, $remove_pkgnum, $return_cust_pkg, $refnum) = @_;
+ my ($custnum, $pkgparts, $remove_pkgnum, $return_cust_pkg, $refnum,
+ $locationnum);
+
+ if ( ref $_[0] ) {
+ my $args = $_[0];
+ $custnum = $args->{custnum};
+ $pkgparts = $args->{pkgparts};
+ $remove_pkgnum = $args->{remove_pkgnum};
+ $return_cust_pkg = $args->{return_cust_pkg};
+ $refnum = $args->{refnum};
+ $locationnum = $args->{locationnum};
+ } else {
+ ($custnum, $pkgparts, $remove_pkgnum, $return_cust_pkg, $refnum) = @_;
+ }
my $conf = new FS::Conf;
@@ -5685,6 +5702,8 @@ sub order {
}
+ $hash{locationnum} = $locationnum if $locationnum;
+
# Create the new packages.
foreach my $pkgpart (@$pkgparts) {