X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Ftr-input-date-field.html;h=5400fcb808cebc6a161fc2d8808882ecda1a91ce;hb=5f52339b62764ad59fa3e010fad8979dfc3d66ce;hp=428221a5c717457cba83b5108b4827e3c6290ff3;hpb=958afb8d05de67e12df258b57bedcf85028b6253;p=freeside.git diff --git a/httemplate/elements/tr-input-date-field.html b/httemplate/elements/tr-input-date-field.html index 428221a5c..5400fcb80 100644 --- a/httemplate/elements/tr-input-date-field.html +++ b/httemplate/elements/tr-input-date-field.html @@ -1,8 +1,9 @@ - +% unless ( $noinit ) { +% } <% $label %> @@ -21,18 +22,32 @@ }); - <%init> -my($name, $value, $label, $format, $usedatetime) = @_; -$format = "%m/%d/%Y" unless $format; +my($name, $value, $label, $format, $usedatetime, $noinit); +if ( ref($_[0]) ) { + my $opt = shift; + $name = $opt->{'name'}; + $value = $opt->{'value'}; + $label = $opt->{'label'}; + $format = $opt->{'format'}; + $usedatetime = $opt->{'usedatetime'}; + $noinit = $opt->{'noinit'}; +} else { + ($name, $value, $label, $format, $usedatetime) = @_; +} + +my $conf = new FS::Conf; + +$format ||= $conf->config('date_format') || '%m/%d/%Y'; + $label = $name unless $label; if ( $value =~ /\S/ ) { if ( $usedatetime ) { my $dt = DateTime->from_epoch(epoch => $value, time_zone => 'floating'); $value = $dt->strftime($format); - } else { + } elsif ( $value =~ /^\d+$/ ) { $value = time2str($format, $value); } } else {