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 );
59 jsrsExecute( 'process/rate.cgi', myCallback, 'start_job', Hash );
61 function myCallback( jobnum ) {
62 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');
63 progressWindow.opener = self;
64 //progressWindow.opener = document;
70 <FORM NAME="OneTrueForm">
71 <INPUT TYPE="hidden" NAME="ratenum" VALUE="<%= $rate->ratenum %>">
74 <INPUT TYPE="text" NAME="ratename" SIZE=32 VALUE="<%= $rate->ratename %>">
81 <TH><FONT SIZE=-1>Included<BR>minutes</FONT></TH>
82 <TH><FONT SIZE=-1>Charge per<BR>minute</FONT></TH>
83 <TH><FONT SIZE=-1>Granularity</FONT></TH>
86 <% foreach my $rate_region (
87 qsearch( 'rate_region',
90 "$nous ORDER BY regionname",
93 my $n = $rate_region->regionnum;
95 $rate->dest_detail($rate_region)
96 || new FS::rate_detail { 'min_included' => 0,
98 'sec_granularity' => '60'
102 <TD><A HREF="<%=$p%>edit/rate_region.cgi?<%= $rate_region->regionnum %>"><%= $rate_region->regionname %></A></TD>
103 <TD><%= $rate_region->prefixes_short %></TD>
104 <TD><INPUT TYPE="text" SIZE=5 NAME="min_included<%=$n%>" VALUE="<%= $cgi->param("min_included$n") || $rate_detail->min_included %>"></TD>
105 <TD>$<INPUT TYPE="text" SIZE=4 NAME="min_charge<%=$n%>" VALUE="<%= sprintf('%.2f', $cgi->param("min_charge$n") || $rate_detail->min_charge ) %>"></TD>
107 <SELECT NAME="sec_granularity<%=$n%>">
108 <% foreach my $granularity ( keys %granularity ) { %>
109 <OPTION VALUE="<%=$granularity%>"<%= $granularity == ( $cgi->param("sec_granularity$n") || $rate_detail->sec_granularity ) ? ' SELECTED' : '' %>><%=$granularity{$granularity}%>
116 <TD COLSPAN=5 ALIGN="center">
117 <A HREF="<%=$p%>edit/rate_region.cgi"><I>Add a region</I></A>
123 <BR><INPUT NAME="submit" TYPE="button" VALUE="<%=
124 $rate->ratenum ? "Apply changes" : "Add rate plan"
125 %>" onClick="document.OneTrueForm.submit.disabled=true; process();">
126 Please make sure to allow popups from this site in order to view the progress window.
127 <!-- Please be patient, <%= $rate->ratenum ? 'editing' : 'adding' %>
128 a rate plan can take a few minutes... -->