4 if ( $cgi->keywords ) {
5 my($query) = $cgi->keywords;
7 $rate = qsearchs( 'rate', { 'ratenum' => $1 } );
9 $rate = new FS::rate {};
11 my $action = $rate->ratenum ? 'Edit' : 'Add';
21 WHERE 0 < ( SELECT COUNT(*) FROM rate_prefix
22 WHERE rate_region.regionnum = rate_prefix.regionnum
23 AND countrycode != '1'
29 <%= header("$action Rate plan", menubar(
31 'View all rate plans' => "${p}browse/rate.cgi",
35 <!-- <FORM ACTION="<%=$p1%>rate.cgi" NAME="OneTrueForm" METHOD=POST onSubmit="document.OneTrueForm.submit.disabled=true"> -->
37 <SCRIPT TYPE="text/javascript" SRC="../elements/jsrsClient.js"></SCRIPT>
38 <SCRIPT TYPE="text/javascript">
40 document.OneTrueForm.submit.disabled=true;
42 var Hash = new Array();
45 for (var i = 0; i<document.OneTrueForm.elements.length; i++) {
46 fieldName = document.OneTrueForm.elements[i].name;
47 if ( (fieldName.indexOf('rate') > -1)
48 || (fieldName.indexOf('min_') > -1)
49 || (fieldName.indexOf('sec_') > -1)
52 Hash[x++] = fieldName;
53 Hash[x++] = document.OneTrueForm.elements[i].value;
58 jsrsExecute( 'process/rate.cgi', myCallback, 'process_rate', Hash );
60 function myCallback( jobnum ) {
61 var progressWindow = window.open('../../misc/progress.html?jobnum=' + jobnum + ';url=<%=$p%>browse/rate.cgi', 'progressWindow', 'toolbar=no,location=no,directories=no,scrollbars=no,menubar=no,status=no,width=420,height=128');
62 progressWindow.opener = self;
63 //progressWindow.opener = document;
69 <FORM NAME="OneTrueForm">
70 <INPUT TYPE="hidden" NAME="ratenum" VALUE="<%= $rate->ratenum %>">
73 <INPUT TYPE="text" NAME="ratename" SIZE=32 VALUE="<%= $rate->ratename %>">
80 <TH><FONT SIZE=-1>Included<BR>minutes</FONT></TH>
81 <TH><FONT SIZE=-1>Charge per<BR>minute</FONT></TH>
82 <TH><FONT SIZE=-1>Granularity</FONT></TH>
85 <% foreach my $rate_region (
86 qsearch( 'rate_region',
89 "$nous ORDER BY regionname",
92 my $n = $rate_region->regionnum;
94 $rate->dest_detail($rate_region)
95 || new FS::rate_detail { 'min_included' => 0,
97 'sec_granularity' => '60'
101 <TD><A HREF="<%=$p%>edit/rate_region.cgi?<%= $rate_region->regionnum %>"><%= $rate_region->regionname %></A></TD>
102 <TD><%= $rate_region->prefixes_short %></TD>
103 <TD><INPUT TYPE="text" SIZE=5 NAME="min_included<%=$n%>" VALUE="<%= $cgi->param("min_included$n") || $rate_detail->min_included %>"></TD>
104 <TD>$<INPUT TYPE="text" SIZE=4 NAME="min_charge<%=$n%>" VALUE="<%= sprintf('%.2f', $cgi->param("min_charge$n") || $rate_detail->min_charge ) %>"></TD>
106 <SELECT NAME="sec_granularity<%=$n%>">
107 <% foreach my $granularity ( keys %granularity ) { %>
108 <OPTION VALUE="<%=$granularity%>"<%= $granularity == ( $cgi->param("sec_granularity$n") || $rate_detail->sec_granularity ) ? ' SELECTED' : '' %>><%=$granularity{$granularity}%>
115 <TD COLSPAN=5 ALIGN="center">
116 <A HREF="<%=$p%>edit/rate_region.cgi"><I>Add a region</I></A>
122 <BR><INPUT NAME="submit" TYPE="button" VALUE="<%=
123 $rate->ratenum ? "Apply changes" : "Add rate plan"
124 %>" onClick="document.OneTrueForm.submit.disabled=true; process();">
125 Please make sure to allow popups from this site in order to view the progress window.
126 <!-- Please be patient, <%= $rate->ratenum ? 'editing' : 'adding' %>
127 a rate plan can take a few minutes... -->