diff options
author | Christopher Burger <burgerc@freeside.biz> | 2017-06-01 10:21:48 -0400 |
---|---|---|
committer | Christopher Burger <burgerc@freeside.biz> | 2017-06-01 10:21:48 -0400 |
commit | cbc1e6944fb7154a1ff97ac1bdc5cca947477935 (patch) | |
tree | b6096a9baca7cd81ec19317eab264d2ac7719602 | |
parent | e92c3b71a6182bdca0831ca4755ae0127e7e5180 (diff) |
RT# 73993 - Updated process to display only packages customer has access to.
-rw-r--r-- | FS/FS/ClientAPI/MyAccount.pm | 6 | ||||
-rw-r--r-- | ng_selfservice/packages_change.php | 24 | ||||
-rw-r--r-- | ng_selfservice/process_packages_change.php | 4 | ||||
-rw-r--r-- | ng_selfservice/services.php | 2 |
4 files changed, 13 insertions, 23 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 }; } diff --git a/ng_selfservice/packages_change.php b/ng_selfservice/packages_change.php index 8b4386ce0..876f6cd19 100644 --- a/ng_selfservice/packages_change.php +++ b/ng_selfservice/packages_change.php @@ -6,32 +6,20 @@ $customer_info = $freeside->customer_info_short( array( 'session_id' => $_COOKIE['session_id'], ) ); -$list_pkgs = $freeside->list_pkgs( array( - 'session_id' => $_COOKIE['session_id'], -) ); - -if ( isset($list_pkgs['error']) && $list_pkgs['error'] ) { - $error = $list_pkgs['error']; - header('Location:index.php?error='. urlencode($error)); - die(); +foreach ( $cust_pkg AS $pkg ) { + $part_pkg .= $pkg[pkgpart]; + $class_num .= $pkg[classnum]; } -extract($list_pkgs); - -$get_params = array( 'pkgnum', 'pkg' ); +$get_params = array( 'pkgnum', 'pkg', 'classnum', 'pkgpart' ); foreach ( $get_params AS $param ) { $params[$param] = $_GET[$param]; } -$pkgnum = $_GET['pkgnum']; -$pkg = $_GET['pkg']; - $pkgselect = $freeside->mason_comp( array( 'session_id' => $_COOKIE['session_id'], 'comp' => '/elements/select-part_pkg.html', - 'args' => array( 'custnum' => $customer_info['custnum'], - 'curr_value' => 'current_value', - ), + 'args' => [ 'classnum', $params['classnum'], 'curr_value', $params['pkgpart'], ], ) ); @@ -53,7 +41,7 @@ function enable_change_pkg () { } </SCRIPT> -<FONT SIZE=4>Purchase replacement package for "<? echo $pkg; ?>"</FONT><BR><BR> +<FONT SIZE=4>Purchase replacement package for "<? echo $params['pkg']; ?>"</FONT><BR><BR> <? include('elements/error.php'); ?> diff --git a/ng_selfservice/process_packages_change.php b/ng_selfservice/process_packages_change.php index 114cc6b1a..3ea655e60 100644 --- a/ng_selfservice/process_packages_change.php +++ b/ng_selfservice/process_packages_change.php @@ -53,8 +53,6 @@ if ( ! $results['error'] ) { $results = $freeside->change_pkg($change_pkg); - echo $results; - } # if ( $results->{'error'} ) { @@ -83,7 +81,7 @@ if ( isset($results['error']) && $results['error'] ) { ?> <? include('elements/error.php'); ?> -<FONT SIZE=4>Package Changed Su for "<? echo $pkg; ?>"</FONT><BR><BR> +<FONT SIZE=4>Package Successfully Changed To "<? echo $results['pkg']; ?>"</FONT><BR><BR> <? include('elements/menu_footer.php'); ?> <? include('elements/footer.php'); ?>
\ No newline at end of file diff --git a/ng_selfservice/services.php b/ng_selfservice/services.php index 25fbdde4f..987e5826d 100644 --- a/ng_selfservice/services.php +++ b/ng_selfservice/services.php @@ -33,7 +33,7 @@ extract($list_pkgs); $change_link = ''; if ( in_array("Change packages", $menu_disable) == 0) { - $change_link = '<a href="packages_change.php?pkgnum=' . $pkg['pkgnum'] . '&pkg=' . $pkg['pkg_label'] . '">[change]</a>'; + $change_link = '<a href="packages_change.php?pkgnum=' . $pkg['pkgnum'] . '&pkg=' . $pkg['pkg_label'] . '&pkgpart=' . $pkg['pkgpart'] . '&classnum=' . $pkg['classnum'] . '">[change]</a>'; } ?> <TR> |