X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Fprocess%2Fcancel_pkg.html;h=0649261e7460917b8759d8f8268f68e5dece5010;hp=47ceca23b4b1ff253963653a2c77cca47d7d166a;hb=4afceb55388ffa32d18c2b821fda11027540dce5;hpb=8dd41f364aaba88969dfd0908feb22709025e7f6 diff --git a/httemplate/misc/process/cancel_pkg.html b/httemplate/misc/process/cancel_pkg.html index 47ceca23b..0649261e7 100755 --- a/httemplate/misc/process/cancel_pkg.html +++ b/httemplate/misc/process/cancel_pkg.html @@ -1,6 +1,10 @@ -<% header(emt("Package $past_method")) %> +<& /elements/header-popup.html, emt("Package $past_method") &> + @@ -33,8 +37,10 @@ $method =~ /^(cancel|expire|suspend|adjourn|resume|uncancel)$/ $method = $1; my $past_method = $past{$method}; +my $curuser = $FS::CurrentUser::CurrentUser; + die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right($right{$method}); + unless $curuser->access_right($right{$method}); #untaint pkgnum my $pkgnum = $cgi->param('pkgnum'); @@ -60,14 +66,15 @@ if ( $method eq 'suspend' ) { #or 'adjourn' $options = { map { $_ => scalar($cgi->param($_)) } qw( suspend_bill no_suspend_bill ) - }; + } + if $curuser->access_right('Customize billing during suspension'); } my $cust_pkg = qsearchs( 'cust_pkg', {'pkgnum'=>$pkgnum} ); #untaint reasonnum, and set up new reason if appropriate my ($reasonnum, $error); -if ($method ne 'resume' and $method ne 'uncancel') { +if ($method ne 'unsuspend' and $method ne 'uncancel') { ($reasonnum, $error) = $m->comp('elements/reason'); if (!$reasonnum) { $error ||= 'Reason required'; @@ -82,6 +89,8 @@ my $bill = my $svc_fatal = ( $cgi->param('svc_not_fatal') ne 'Y' ); +my $only_svcnum = ($method eq 'uncancel') ? [ $cgi->param('only_svcnum') ] : undef; + $error ||= $cust_pkg->$method( 'reason' => $reasonnum, 'date' => $date, 'resume_date' => $resume_date, @@ -89,6 +98,7 @@ $error ||= $cust_pkg->$method( 'reason' => $reasonnum, 'bill' => $bill, 'svc_fatal' => $svc_fatal, 'options' => $options, + 'only_svcnum' => $only_svcnum, ); if ($error) {