diff options
| author | Ivan Kohler <ivan@freeside.biz> | 2018-04-23 17:08:58 -0700 |
|---|---|---|
| committer | Ivan Kohler <ivan@freeside.biz> | 2018-04-23 17:08:58 -0700 |
| commit | e884af8c6997d97753598ccec16a3156e0dcbf3f (patch) | |
| tree | 8f43d398173c0603078c58e82d823a08dc16c258 /FS | |
| parent | a1e1a1510968526f0c94e4eb684c66c7e3b93a8c (diff) | |
bulk customer package edit from multiple source package definitions, RT#79885
Diffstat (limited to 'FS')
| -rw-r--r-- | FS/FS/cust_pkg.pm | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index b24b3abe3..07c5a4756 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -3329,11 +3329,10 @@ sub process_bulk_cust_pkg { my $param = shift; warn Dumper($param) if $DEBUG; - my $old_part_pkg = qsearchs('part_pkg', - { pkgpart => $param->{'old_pkgpart'} }); my $new_part_pkg = qsearchs('part_pkg', { pkgpart => $param->{'new_pkgpart'} }); - die "Must select a new package type\n" unless $new_part_pkg; + die "Must select a new package definition\n" unless $new_part_pkg; + #my $keep_dates = $param->{'keep_dates'} || 0; my $keep_dates = 1; # there is no good reason to turn this off @@ -3341,7 +3340,14 @@ sub process_bulk_cust_pkg { local $FS::UID::AutoCommit = 0; my $dbh = dbh; - my @cust_pkgs = qsearch('cust_pkg', { 'pkgpart' => $param->{'old_pkgpart'} } ); + my @old_pkgpart = ref($param->{'old_pkgpart'}) ? @{ $param->{'old_pkgpart'} } + : $param->{'old_pkgpart'}; + + my @cust_pkgs = qsearch({ + 'table' => 'cust_pkg', + 'extra_sql' => ' WHERE pkgpart IN ('. + join(',', @old_pkgpart). ')', + }); my $i = 0; foreach my $old_cust_pkg ( @cust_pkgs ) { |
