[html-formfu] Patch to allow "today" as the default date

Moritz Onken onken at houseofdesign.de
Fri Feb 15 06:39:15 GMT 2008


I'd suggst implementing http://search.cpan.org/dist/DateTime-Format-Natural/lib/DateTime/Format/Natural/Lang/EN.pm 
  with this feature.


Am 14.02.2008 um 20:43 schrieb Brian Cassidy:

> This may open a can of worms, but I've refactored the defaults for  
> the Date element to allow the string "today" to correspond to  
> DateTime->today().
>
> This seemed like a sensible option to allow -- though i know one  
> could go overboard with textual representations.
>
> See attachment.
>
> -Brian
> === lib/HTML/FormFu/Element/Date.pm
> ==================================================================
> --- lib/HTML/FormFu/Element/Date.pm	(revision 29417)
> +++ lib/HTML/FormFu/Element/Date.pm	(local)
> @@ -109,22 +109,21 @@
>     my $default = $self->default;
>
>     if ( defined $default ) {
> +        my $is_blessed = blessed( $default );
>
> -        if ( blessed($default) && $default->isa('DateTime') ) {
> -            $self->day->{default}   = $default->day;
> -            $self->month->{default} = $default->month;
> -            $self->year->{default}  = $default->year;
> +        if( "$default" eq 'today' ) { # $default needs  
> stringification
> +            $default = DateTime->today;
>         }
> -        else {
> +        elsif ( !$is_blessed || ( $is_blessed && !$default- 
> >isa('DateTime') ) ) {
>             my $builder = DateTime::Format::Builder->new;
>             $builder->parser( { strptime => $self->strftime } );
>
> -            my $dt = $builder->parse_datetime($default);
> -
> -            $self->day->{default}   = $dt->day;
> -            $self->month->{default} = $dt->month;
> -            $self->year->{default}  = $dt->year;
> +            $default = $builder->parse_datetime($default);
>         }
> +
> +        $self->day->{default}   = $default->day;
> +        $self->month->{default} = $default->month;
> +        $self->year->{default}  = $default->year;
>     }
>
>     return;
> _______________________________________________
> HTML-FormFu mailing list
> HTML-FormFu at lists.rawmode.org
> http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu




More information about the HTML-FormFu mailing list