X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Frate.cgi;h=5bfc108c1c2445bbb586166fb4e4a71677de7b97;hb=c8758c049e81f88d086a42c92a56a91815dbbb26;hp=4fdc837bb1252a76abb874a1661ba4538c8d732d;hpb=584caeef2ac90ab10fc028a7928b9ebc53e8b33a;p=freeside.git diff --git a/httemplate/edit/rate.cgi b/httemplate/edit/rate.cgi index 4fdc837bb..5bfc108c1 100644 --- a/httemplate/edit/rate.cgi +++ b/httemplate/edit/rate.cgi @@ -1,105 +1,87 @@ -<!-- mason kludge --> -<% - -my $rate; -if ( $cgi->param('error') ) { - $rate = new FS::rate ( { - map { $_, scalar($cgi->param($_)) } fields('rate') - } ); -} elsif ( $cgi->keywords ) { - my($query) = $cgi->keywords; - $query =~ /^(\d+)$/; - $rate = qsearchs( 'rate', { 'ratenum' => $1 } ); -} else { #adding - $rate = new FS::rate {}; -} -my $action = $rate->ratenum ? 'Edit' : 'Add'; - -my $p1 = popurl(1); - -my %granularity = ( - '6' => '6 second', - '60' => 'minute', -); - -my $nous = <<END; - WHERE 0 < ( SELECT COUNT(*) FROM rate_prefix - WHERE rate_region.regionnum = rate_prefix.regionnum - AND countrycode != '1' - ) -END - -%> - -<%= header("$action Rate plan", menubar( - 'Main Menu' => $p, +<& /elements/header.html, + "$action Rate plan", + menubar( 'View all rate plans' => "${p}browse/rate.cgi", - )) + 'View packages that use this plan' => "${p}browse/part_pkg.cgi?ratenum=" + . $rate->ratenum, + ) +&> + +<% include('/elements/progress-init.html', + 'OneTrueForm', + [ 'rate', 'agentnum' ], + 'process/rate.cgi', + $p.'browse/rate.cgi', + ) %> +<FORM NAME="OneTrueForm"> +<INPUT TYPE="hidden" NAME="ratenum" VALUE="<% $rate->ratenum %>"> -<% if ( $cgi->param('error') ) { %> -<FONT SIZE="+1" COLOR="#ff0000">Error: <%= $cgi->param('error') %></FONT><BR> -<% } %> - -<FORM ACTION="<%=$p1%>process/rate.cgi" METHOD=POST> - -<INPUT TYPE="hidden" NAME="ratenum" VALUE="<%= $rate->ratenum %>"> +<TABLE CLASS="fsinnerbox"> -Rate plan -<INPUT TYPE="text" NAME="ratename" SIZE=32 VALUE="<%= $rate->ratename %>"> -<BR><BR> +<& /elements/tr-select-agent.html, + disable_empty => ! $FS::CurrentUser::CurrentUser->access_right('Configuration'), #, 'Edit global CDR rates' + empty_label => '(global)', +&> -<%= table() %> <TR> - <TH>Region</TH> - <TH>Prefix(es)</TH> - <TH><FONT SIZE=-1>Included<BR>minutes</FONT></TH> - <TH><FONT SIZE=-1>Charge per<BR>minute</FONT></TH> - <TH><FONT SIZE=-1>Granularity</FONT></TH> + <TD>Rate plan</TD> + <TD><INPUT TYPE="text" NAME="ratename" SIZE=32 VALUE="<% $rate->ratename %>"></TD> </TR> - -<% foreach my $rate_region ( - qsearch( 'rate_region', - {}, - '', - "$nous ORDER BY regionname", - ) - ) { - my $n = $rate_region->regionnum; - my $rate_detail = - $rate->dest_detail($rate_region) - || new FS::rate_region { 'min_included' => 0, - 'min_charge' => 0, - 'sec_granularity' => '60' - }; -%> - <TR> - <TD><A HREF="<%=$p%>edit/rate_region.cgi?<%= $rate_region->regionnum %>"><%= $rate_region->regionname %></A></TD> - <TD><%= $rate_region->prefixes_short %></TD> - <TD><INPUT TYPE="text" SIZE=5 NAME="min_included<%=$n%>" VALUE="<%= $cgi->param("min_included$n") || $rate_detail->min_included %>"></TD> - <TD>$<INPUT TYPE="text" SIZE=4 NAME="min_charge<%=$n%>" VALUE="<%= sprintf('%.2f', $cgi->param("min_charge$n") || $rate_detail->min_charge ) %>"></TD> - <TD> - <SELECT NAME="sec_granularity<%=$n%>"> - <% foreach my $granularity ( keys %granularity ) { %> - <OPTION VALUE="<%=$granularity%>"<%= $granularity == ( $cgi->param("sec_granularity$n") || $rate_detail->sec_granularity ) ? ' SELECTED' : '' %>><%=$granularity{$granularity}%> - <% } %> - </SELECT> - </TR> -<% } %> - -<TR> - <TD COLSPAN=5 ALIGN="center"> - <A HREF="<%=$p%>edit/rate_region.cgi"><I>Add a region</I></A> - </TD> -</TR> - </TABLE> +<BR> -<BR><INPUT TYPE="submit" VALUE="<%= +<INPUT NAME="submit" TYPE="button" VALUE="<% $rate->ratenum ? "Apply changes" : "Add rate plan" -%>"> +%>" onClick="document.OneTrueForm.submit.disabled=true; process();"> +</FORM> + +% if($rate->ratenum) { +<BR><BR><FONT SIZE="+2">Rates in this plan</FONT> +% if ( my $select_cdr_type = include('/elements/select-cdr_type.html', +% 'curr_value' => $cdrtypenum, +% 'onchange' => 'form.submit();', +% 'name_col' => 'cdrtypename', +% 'value_col' => 'cdrtypenum', +% 'empty_label' => '(default)', +% ) ) { +<FORM ACTION="<%$cgi->url%>" METHOD="GET"> +<INPUT TYPE="hidden" NAME="ratenum" VALUE="<% $rate->ratenum %>"> +<INPUT TYPE="hidden" NAME="countrycode" VALUE="<% $countrycode %>"> +<FONT SIZE="+1">Usage type: <% $select_cdr_type %></FONT> +</FORM> +% } + +<% include('/edit/elements/rate_detail.html', + 'ratenum' => $rate->ratenum, + 'countrycode' => $countrycode, + 'cdrtypenum' => $cdrtypenum, +) %> +% } + +<% include('/elements/footer.html') %> + +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); - </FORM> - </BODY> -</HTML> +my $rate; +if ( $cgi->param('ratenum') ) { + $cgi->param('ratenum') =~ /^(\d+)$/; + $rate = qsearchs( 'rate', { 'ratenum' => $1 } ); +} else { #adding + $rate = new FS::rate {}; +} +my $action = $rate->ratenum ? 'Edit' : 'Add'; +my $countrycode = ''; +if ( $cgi->param('countrycode') =~ /^(\d+)$/ ) { + $countrycode = $1; +} + +my $cdrtypenum = ''; +if ( $cgi->param('cdrtypenum') =~ /^(\d+)$/ ) { + $cdrtypenum = $1; +} +</%init>