Changeset 1722


Ignore:
Timestamp:
02/23/16 17:58:27 (8 years ago)
Author:
nanardon
Message:

Fix input for DATE/DATETIME attribute

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Model/AttrFormsA.pm

    r1664 r1722  
    301301sub attr_DATE { 
    302302    my ($self, $value, $name, $id) = @_; 
     303     
     304    warn "-- $name $value"; 
    303305 
    304306    if (my $time = str2time($value)) { 
     
    307309        $value = $dt->dmy('/') 
    308310    } 
     311    warn $value; 
    309312 
    310313    return sprintf( 
     
    336339        $value = $dt->dmy('/') . ' ' . $dt->hms(':') 
    337340    } 
     341 
     342    warn $value; 
    338343 
    339344    return sprintf( 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Attributes.pm

    r1699 r1722  
    66use warnings; 
    77use LATMOS::Accounts::Log; 
     8 
     9use Date::Parse; 
     10use DateTime; 
     11use DateTime::TimeZone; 
     12 
    813 
    914=head1 NAME 
     
    188193        if (!defined($value)) { return } 
    189194        return $self->{input}->($value); 
     195    } elsif ($self->real_form_type =~ /^(DATE|DATETIME)$/) { 
     196        if (!$value) { 
     197            return; 
     198        } else { 
     199            $value =~ s:^(\d+)/(\d+)/(\d+):$2/$1/$3:; 
     200            my $dt = DateTime->from_epoch(epoch => str2time($value)) 
     201                or return $value; 
     202            $dt->set_time_zone( DateTime::TimeZone->new( name => 'local' ) ); 
     203            if ($self->real_form_type eq 'DATE') { 
     204                return $dt->ymd('-'); 
     205            } else { 
     206                return $dt->ymd('-') . ' ' . $dt->hms(':'); 
     207            } 
     208        } 
    190209    } else { 
    191210        return $value; 
Note: See TracChangeset for help on using the changeset viewer.