re-write RADIUS groups, RT13274
[freeside.git] / httemplate / edit / rate_time.cgi
1 <% include("/elements/header.html", { title => "$action Time Period" }) %>
2 <% include("/elements/menubar.html",
3       'Rate plans' => "${p}browse/rate.cgi",
4     ) %>
5 <BR>
6 <% include('/elements/error.html') %>
7 <BR>
8
9 <FORM METHOD="POST" ACTION="<% "${p}edit/process/rate_time.cgi" %>">
10 <INPUT TYPE="hidden" NAME="ratetimenum" VALUE="<% $ratetimenum %>">
11 <% ntable('#cccccc',2) %>
12 <TABLE>
13   <TR>
14     <TH ALIGN="right">Period name</TH>
15     <TD><INPUT TYPE="text" NAME="ratetimename" VALUE="<% $rate_time ? $rate_time->ratetimename : '' %>"></TD>
16   </TR>
17 </TABLE>
18 <% include('/elements/auto-table.html', 
19                       'header' => [ '', 'Start','','', '','End','','' ],
20                       'fields' => [ qw(sd sh sm sa ed eh em ea) ],
21                       'select' => [ ($day, $hour, $min, $ampm) x 2 ],
22                       'data'   => \@data,
23    ) %>
24 <INPUT TYPE="submit" VALUE="<% $rate_time ? 'Apply changes' : 'Add period'%>">
25 </FORM>
26 <BR>
27 <A HREF="<% "${p}edit/process/rate_time.cgi?ratetimenum=$ratetimenum;delete=1" %>">Delete this period</A>
28 <% include('/elements/footer.html') %>
29
30 <%init>
31 my $ratetimenum = ($cgi->keywords)[0] || $cgi->param('ratetimenum') || '';
32 my $action = 'Add';
33 my $rate_time;
34 my @data = ();
35 my $day = [ 0 => 'Sun',
36             1 => 'Mon',
37             2 => 'Tue',
38             3 => 'Wed',
39             4 => 'Thu',
40             5 => 'Fri',
41             6 => 'Sat', ];
42 my $hour = [ map( {$_, sprintf('%02d',$_) } 12, 1..11 )];
43 my $min  = [ map( {$_, sprintf('%02d',$_) } 0,30  )];
44 my $ampm = [ 0 => 'AM', 1 => 'PM' ];
45
46 if($ratetimenum) {
47   $action = 'Edit';
48   $rate_time = qsearchs('rate_time', {ratetimenum => $ratetimenum})
49     or die "ratetimenum $ratetimenum not found";
50   if($cgi->param('error')) {
51     my %vars = $cgi->Vars;
52     foreach my $i (sort {$a <=> $b } map { /^sd(\d+)$/ } keys(%vars)) {
53       push @data, [ @vars{"sd$i", "sh$i", "sm$i", "sa$i",
54                           "ed$i", "eh$i", "em$i", "ea$i"} ];
55     }
56   }
57   else {
58     foreach my $interval ($rate_time->intervals) {
59       push @data, [ map { int($_/86400) % 7,
60                           (int($_/3600) % 12 || 12),
61                           int($_/60) % 60,
62                           int($_/43200) % 2, } 
63                     ( $interval->stime, $interval->etime ) 
64       ];
65     }
66   }
67 }
68
69 </%init>