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 );
$err_or_cust_pkg->reexport;
}
- return { error => '', pkgnum => $cust_pkg->pkgnum };
+ return { error => '', pkg => $new_pkg->pkg, pkgnum => $err_or_cust_pkg->pkgnum };
}
% } else {
% $bgcolor = $bgcolor1;
% }
+%
+% ## Create Description and check to see it is not empty, no need to display a record with no description, so skip it.
+% my $description = '';
+% if ( $item->table eq 'legacy_cust_history' ) {
+% $description = $item->description;
+% } elsif ( $item->table eq 'h_cust_tag' ) {
+% $description = &{ $h_table_descripsub{$item->table} }( $item, $tables{'cust_tag'} )
+% if $single_cust && $h_table_descripsub{$item->table};
+% } else {
+% $description = join(', ',
+% map { my $value = ( $_ =~ /(^pay(info|cvv)|^ss|_password)$/ )
+% ? 'N/A'
+% : $item->get($_);
+% $value = time2str($cust_pkg_date_format, $value)
+% if $item->table eq 'h_cust_pkg'
+% && $cust_pkg_date_fields{$_}
+% && $value;
+%
+% $value = substr($value, 0, 77).'...' if length($value) > 80;
+% $value = encode_entities($value);
+% "<I>$_</I>:<B>$value</B>";
+% }
+% grep { $history_other
+% ? ( $item->get($_) ne $history_other->get($_) )
+% : ( $item->get($_) =~ /\S/ )
+% }
+% grep { ! /^(history|custnum$)/i }
+% $item->fields
+% );
+% if ( $single_cust && $h_table_descripsub{$item->table} ) {
+% $description = &{ $h_table_descripsub{$item->table} }( $item );
+% }
+% } #else
+% if (!$description) { next; }
<TR>
</TD>
<TD ALIGN="left" CLASS="grid" BGCOLOR="<% $bgcolor %>">
-% my $description = '';
-% if ( $item->table eq 'legacy_cust_history' ) {
- <% $item->description |h %>
-% } elsif ( $item->table eq 'h_cust_tag' ) {
-% $description = &{ $h_table_descripsub{$item->table} }( $item, $tables{'cust_tag'} )
-% if $single_cust && $h_table_descripsub{$item->table};
- <% $description %>
-% } else {
- <% join(', ',
- map { my $value = ( $_ =~ /(^pay(info|cvv)|^ss|_password)$/ )
- ? 'N/A'
- : $item->get($_);
- $value = time2str($cust_pkg_date_format, $value)
- if $item->table eq 'h_cust_pkg'
- && $cust_pkg_date_fields{$_}
- && $value;
-
- $value = substr($value, 0, 77).'...' if length($value) > 80;
- $value = encode_entities($value);
- "<I>$_</I>:<B>$value</B>";
- }
- grep { $history_other
- ? ( $item->get($_) ne $history_other->get($_) )
- : ( $item->get($_) =~ /\S/ )
- }
- grep { ! /^(history|custnum$)/i }
- $item->fields
- )
- %>
-% if ( $single_cust && $h_table_descripsub{$item->table} ) {
- <% &{ $h_table_descripsub{$item->table} }( $item ) %>
-% }
-% }
+ <% $description %>
</TD>
</TR>
'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'], ],
)
);
}
</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'); ?>
$results = $freeside->change_pkg($change_pkg);
- echo $results;
-
}
# if ( $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
$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>