X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fcancel_pkg.html;h=4b5df865414f8dffdb03bd6734a2c5637e741090;hb=781f0ffcf560d3df0aec7ae349b57463d1c2518a;hp=bfb0893e905bf34e3c42afc1e9cbb296cb85b46f;hpb=ce98306f315a53f2ac4b8c010341c4f84bf728a8;p=freeside.git diff --git a/httemplate/misc/cancel_pkg.html b/httemplate/misc/cancel_pkg.html index bfb0893e9..4b5df8654 100755 --- a/httemplate/misc/cancel_pkg.html +++ b/httemplate/misc/cancel_pkg.html @@ -1,95 +1,119 @@ -%# if ( $link eq 'popup' ) { - <% include('/elements/header-popup.html', $title ) %> -%# } else { -%# <% include("/elements/header.html", $title, '') %> -%# } - - - - - - -% if ( $cgi->param('error') ) { - Error: <% $cgi->param('error') %> -

-% } +<& /elements/header-popup.html, mt($title) &> + +<& /elements/error.html &>
-

-<% ucfirst($method) . " $pkgnum: " .$part_pkg->pkg. ' - ' .$part_pkg->comment %> +<% emt(ucfirst($method)." [_1]", $part_pkg->pkg_comment) %> <% ntable("#cccccc", 2) %> -% if ($method eq 'expire') { - - Cancel package on - - -
m/d/y - - - -%} -% - -<% include('/elements/tr-select-reason.html', 'reasonnum', $class) %> - +% my $date_init = 0; +% if ($method eq 'expire' || $method eq 'adjourn' || $method eq 'resume') { +% $submit =~ /^(\w*)\s/; +<& /elements/tr-input-date-field.html, { + 'name' => 'date', + 'value' => $date, + 'label' => mt("$1 package on"), + 'format' => $date_format, +} &> +% $date_init = 1; +% } + +% unless ( $method eq 'resume' ) { #the only one that doesn't need a reason +<& /elements/tr-select-reason.html, + 'field' => 'reasonnum', + 'reason_class' => $class, + 'curr_value' => $reasonnum, + 'control_button' => "document.getElementById('confirm_cancel_pkg_button')", +&> +% } + +% if ( ( $method eq 'adjourn' or $method eq 'suspend' ) and +% $curuser->access_right('Unsuspend customer package') ) { #later? +% my $resume_date = $cgi->param('error') +% ? str2time($cgi->param('resume_date')) +% : $cust_pkg->get('resume'); + +<& /elements/tr-input-date-field.html, { + 'name' => 'resume_date', + 'value' => $resume_date, + 'label' => mt('Unsuspend on'), + 'format' => $date_format, + 'noinit' => $date_init, +} &> +% }
- +>
<%init> -my($method, $pkgnum, $reasonnum, $submit, $cust_pkg, $part_pkg, - $date, $curuser, $class); -$date = time2str("%m/%d/%Y", time); + +my $conf = new FS::Conf; +my $date_format = $conf->config('date_format') || '%m/%d/%Y'; + +my $date; + +my($pkgnum, $reasonnum); if ( $cgi->param('error') ) { - $method = $cgi->param('method'); - $pkgnum = $cgi->param('pkgnum'); - $reasonnum = $cgi->param('reasonnum'); - $date = $cgi->param('date'); + $pkgnum = $cgi->param('pkgnum'); + $reasonnum = $cgi->param('reasonnum'); + $date = str2time($cgi->param('date')); } elsif ( $cgi->param('pkgnum') =~ /^(\d+)$/ ) { - $pkgnum = $1; + $pkgnum = $1; + $reasonnum = ''; } else { die "illegal query ". $cgi->keywords; } -$method = $cgi->param('method'); +$cgi->param('method') =~ /^(\w+)$/ or die 'illegal method'; +my $method = $1; + +my($class, $submit, $right); if ($method eq 'cancel') { - $class = 'C'; - $submit = "Cancel Now"; -}elsif ($method eq 'expire') { - $class = 'C'; - $submit = "Cancel Later"; -}elsif ($method eq 'suspend') { - $class = 'S'; - $submit = "Suspend"; -}else{ - die "illegal query ". $cgi->keywords; + $class = 'C'; + $submit = 'Cancel Now'; + $right = 'Cancel customer package immediately'; +} elsif ($method eq 'expire') { + $class = 'C'; + $submit = 'Cancel Later'; + $right = 'Cancel customer package later'; +} elsif ($method eq 'suspend') { + $class = 'S'; + $submit = 'Suspend Now'; + $right = 'Suspend customer package'; +} elsif ($method eq 'adjourn') { + $class = 'S'; + $submit = "Suspend Later"; + $right = 'Suspend customer package later'; +} elsif ( $method eq 'resume') { + $class = ''; + $submit = 'Unsuspend Later'; + $right = 'Unsuspend customer package'; #later? +} else { + die 'illegal query (unknown method param)'; } +my $curuser = $FS::CurrentUser::CurrentUser; +die "access denied" unless $curuser->access_right($right); + my $title = ucfirst($method) . ' Package'; -$cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum}); -die "No such package: $pkgnum" unless $cust_pkg; +my $cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum}) + or die "Unknown pkgnum: $pkgnum"; -$part_pkg = $cust_pkg->part_pkg; +my $part_pkg = $cust_pkg->part_pkg; -$curuser = $FS::CurrentUser::CurrentUser; +$date ||= $cust_pkg->get($method); +$date ||= time; -