summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/ClientAPI/MyAccount.pm6
1 files changed, 5 insertions, 1 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm
index 7df481ec6..8c082ec0d 100644
--- a/FS/FS/ClientAPI/MyAccount.pm
+++ b/FS/FS/ClientAPI/MyAccount.pm
@@ -2581,10 +2581,14 @@ sub change_pkg {
my $err_or_cust_pkg = $cust_pkg->change( 'pkgpart' => $p->{'pkgpart'},
'quantity' => $p->{'quantity'} || 1,
);
+
+ my $new_pkg = qsearchs('part_pkg', { 'pkgpart' => $p->{pkgpart} } )
+ or return { 'error' => "unknown package $p->{pkgpart}" };
return { error=>$err_or_cust_pkg, pkgnum=>$cust_pkg->pkgnum }
unless ref($err_or_cust_pkg);
+
if ( $conf->exists('signup_server-realtime') ) {
my $bill_error = _do_bop_realtime( $cust_main, $status, 'no_invoice_void'=>1 );
@@ -2600,7 +2604,7 @@ sub change_pkg {
$err_or_cust_pkg->reexport;
}
- return { error => '', pkgnum => $cust_pkg->pkgnum };
+ return { error => '', pkg => $new_pkg->pkg, pkgnum => $err_or_cust_pkg->pkgnum };
}