my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $p->{pkgnum} } )
or return { 'error' => "unknown package $p->{pkgnum}" };
+ #if someone does need self-service package change of suspended packages,
+ # figure out how to be more discriminating
+ return { error=>"Can't change a suspended package", pkgnum=>$cust_pkg->pkgnum}
+ if $cust_pkg->status eq 'suspended';
+
my @newpkg;
my $error = FS::cust_pkg::order( $custnum,
[$p->{pkgpart}],
|| scalar(@{$_->{cust_svc}})
} @cust_pkg
) {
+
my $susp = $pkg->{'susp'} || '';
- my @pkg_actions = ( [ 'customer_change_pkg' => 'change' ] );
- push @pkg_actions, [ 'process_suspend_pkg' => 'suspend' ]
- if $self_suspend_reason and !$susp;
+ my @pkg_actions = ();
+ if ( ! $susp ) {
+ push @pkg_actions, [ 'customer_change_pkg' => 'change' ];
+ push @pkg_actions, [ 'process_suspend_pkg' => 'suspend' ]
+ if $self_suspend_reason;
+ }
my $bgcolor = $susp ? '"#ff9900"' : '"#8888ff"';
$OUT .= #'<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2 BGCOLOR="#ffffff">'.