RT# 82949 - changes section name from fees to pricing, better opiton
[freeside.git] / httemplate / elements / tr-input-date-field.html
1 <%doc>
2
3 Example:
4
5   <& /elements/tr-input_date-field,
6        {
7           'name'  => 'field_name',
8           'value' => $current_value,
9           'label' => 'Label',
10
11           #optional
12           'format'      => '%m/%d/%Y', #overrides date_format config
13           'usedatetime' => 1, #use DateTime->strftime to format the date
14                               # instead of Date::Format->time2str
15           'noinit'      => 1,          #first one on the page is enough
16           'required'    => 1,
17        },
18   &>
19
20 </%doc>
21 % unless ( $noinit ) {
22 <LINK REL="stylesheet" TYPE="text/css" HREF="<%$fsurl%>elements/calendar-win2k-2.css" TITLE="win2k-2">
23 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar_stripped.js"></SCRIPT>
24 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-en.js"></SCRIPT>
25 <SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/calendar-setup.js"></SCRIPT>
26 % }
27
28 <% include('/elements/tr-td-label.html',
29      'label'    => $label,
30      'required' => $required ) %>
31   <TD COLSPAN=<% $colspan %>>
32     <INPUT TYPE="text" NAME="<% $name %>" ID="<% $name %>_text" VALUE="<% $value %>">
33     <IMG SRC="<%$fsurl%>images/calendar.png" ID="<% $name  %>_button" STYLE="cursor: pointer" TITLE="<% mt('Select date') |h %>">
34   </TD>
35 </TR>
36
37 <SCRIPT TYPE="text/javascript">
38   Calendar.setup({
39     inputField: "<% $name %>_text",
40     ifFormat:   "<% $format %>",
41     button:     "<% $name %>_button",
42     align:      "BR"
43 %   if ( $format =~ /\%r/ ) {
44       ,
45       showsTime: true,
46       timeFormat: 12
47 %   }
48   });
49 </SCRIPT>
50
51 <%init>
52
53 my($name, $value, $label, $format, $usedatetime, $noinit, $colspan, $required);
54 if ( ref($_[0]) ) {
55   my $opt = shift;
56   $name        = $opt->{'name'};
57   $value       = $opt->{'value'};
58   $label       = $opt->{'label'};
59   $format      = $opt->{'format'};
60   $usedatetime = $opt->{'usedatetime'};
61   $noinit      = $opt->{'noinit'};
62   $colspan     = $opt->{'colspan'} || 1;
63   $required    = $opt->{'required'};
64 } else {
65   ($name, $value, $label, $format, $usedatetime) = @_;
66   $colspan = 1;
67 }
68
69 my $conf = new FS::Conf;
70
71 $format ||= $conf->config('date_format') || '%m/%d/%Y';
72
73 $label = $name unless $label;
74
75 if ( $value =~ /\S/ ) {
76   if ( $usedatetime ) {
77     my $dt = DateTime->from_epoch(epoch => $value, time_zone => 'floating');
78     $value = $dt->strftime($format);
79   } elsif ( $value =~ /^\d+$/ ) {
80     $value = time2str($format, $value);
81   }
82 } else {
83   $value = '';
84 }
85
86 </%init>
87