Will things ever be the same again?
[freeside.git] / httemplate / edit / rate.cgi
1 %
2 %
3 %my $rate;
4 %if ( $cgi->keywords ) {
5 %  my($query) = $cgi->keywords;
6 %  $query =~ /^(\d+)$/;
7 %  $rate = qsearchs( 'rate', { 'ratenum' => $1 } );
8 %} else { #adding
9 %  $rate = new FS::rate {};
10 %}
11 %my $action = $rate->ratenum ? 'Edit' : 'Add';
12 %
13 %my $p1 = popurl(1);
14 %
15 %my %granularity = (
16 %  '1', => '1 second',
17 %  '6'  => '6 second',
18 %  '30' => '30 second', # '1/2 minute',
19 %  '60' => 'minute',
20 %);
21 %
22 %#my $nous = <<END;
23 %#  WHERE 0 < ( SELECT COUNT(*) FROM rate_prefix
24 %#               WHERE rate_region.regionnum = rate_prefix.regionnum
25 %#                 AND countrycode != '1'
26 %#            )
27 %#END
28 %
29 %
30
31
32 <% include("/elements/header.html","$action Rate plan", menubar(
33       'Main Menu' => $p,
34       'View all rate plans' => "${p}browse/rate.cgi",
35     ))
36 %>
37
38 <% include('/elements/progress-init.html',
39               'OneTrueForm',
40               [ 'rate', 'min_', 'sec_' ],
41               'process/rate.cgi',
42               $p.'browse/rate.cgi',
43            )
44 %>
45 <FORM NAME="OneTrueForm">
46 <INPUT TYPE="hidden" NAME="ratenum" VALUE="<% $rate->ratenum %>">
47
48 Rate plan
49 <INPUT TYPE="text" NAME="ratename" SIZE=32 VALUE="<% $rate->ratename %>">
50 <BR><BR>
51
52 <% table() %>
53 <TR>
54   <TH>Region</TH>
55   <TH>Prefix(es)</TH>
56   <TH><FONT SIZE=-1>Included<BR>minutes</FONT></TH>
57   <TH><FONT SIZE=-1>Charge per<BR>minute</FONT></TH>
58   <TH><FONT SIZE=-1>Granularity</FONT></TH>
59 </TR>
60 % foreach my $rate_region (
61 %     sort { lc($a->regionname) cmp lc($b->regionname) }
62 %     qsearch({
63 %               'select'    => 'DISTINCT ON ( regionnum ) rate_region.*',
64 %               'table'     => 'rate_region',
65 %               'hashref'   => {},
66 %               #'addl_from' => 'INNER JOIN rate_prefix USING ( regionnum )',
67 %               #'extra_sql' => "WHERE countrycode != '1'",
68 %
69 %                              # 'ORDER BY regionname'
70 %                              # ERROR: SELECT DISTINCT ON expressions must
71 %                              #        match initial ORDER BY expressions
72 %            })
73 %   ) {
74 %     my $n = $rate_region->regionnum;
75 %     my $rate_detail =
76 %       $rate->dest_detail($rate_region)
77 %       || new FS::rate_detail { 'min_included'    => 0,
78 %                                'min_charge'      => 0,
79 %                                'sec_granularity' => '60'
80 %                              };
81 %
82
83
84   <TR>
85     <TD><A HREF="<%$p%>edit/rate_region.cgi?<% $rate_region->regionnum %>"><% $rate_region->regionname %></A></TD>
86     <TD><% $rate_region->prefixes_short %></TD>
87     <TD><INPUT TYPE="text" SIZE=5 NAME="min_included<%$n%>" VALUE="<% $cgi->param("min_included$n") || $rate_detail->min_included %>"></TD>
88     <TD>$<INPUT TYPE="text" SIZE=4 NAME="min_charge<%$n%>" VALUE="<% sprintf('%.2f', $cgi->param("min_charge$n") || $rate_detail->min_charge ) %>"></TD>
89     <TD>
90       <SELECT NAME="sec_granularity<%$n%>">
91 % foreach my $granularity ( keys %granularity ) { 
92
93           <OPTION VALUE="<%$granularity%>"<% $granularity == ( $cgi->param("sec_granularity$n") || $rate_detail->sec_granularity ) ? ' SELECTED' : '' %>><%$granularity{$granularity}%>
94 % } 
95
96       </SELECT>
97   </TR>
98 % } 
99
100
101 <TR>
102   <TD COLSPAN=5 ALIGN="center">
103     <A HREF="<%$p%>edit/rate_region.cgi"><I>Add a region</I></A>
104   </TD>
105 </TR>
106
107 </TABLE>
108
109 <BR><INPUT NAME="submit" TYPE="button" VALUE="<% 
110   $rate->ratenum ? "Apply changes" : "Add rate plan"
111 %>" onClick="document.OneTrueForm.submit.disabled=true; process();">
112
113     </FORM>
114   </BODY>
115 </HTML>
116