diff options
author | Struan Donald <struan@exo.org.uk> | 2011-05-27 16:40:36 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2011-05-27 16:43:42 +0100 |
commit | a888f0e31747bd6e1b3733d70569d151607fde22 (patch) | |
tree | a88999ecf1d715706143ad27cd75810c12c374e7 /perllib/FixMyStreet/DB/Result/Problem.pm | |
parent | 778f6498b17f51aa30a948ede177f0c681c0f228 (diff) |
check for uninflated/null dates before trying to set the timezoned
Diffstat (limited to 'perllib/FixMyStreet/DB/Result/Problem.pm')
-rw-r--r-- | perllib/FixMyStreet/DB/Result/Problem.pm | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm index 2836f6c92..426f791c7 100644 --- a/perllib/FixMyStreet/DB/Result/Problem.pm +++ b/perllib/FixMyStreet/DB/Result/Problem.pm @@ -112,19 +112,35 @@ with 'FixMyStreet::Roles::Abuser'; my $tz = DateTime::TimeZone->new( name => "local" ); sub confirmed_local { - return shift->confirmed->set_time_zone($tz); + my $self = shift; + + return $self->confirmed + ? $self->confirmed->set_time_zone($tz) + : $self->confirmed; } sub created_local { - return shift->created->set_time_zone($tz); + my $self = shift; + + return $self->created + ? $self->created->set_time_zone($tz) + : $self->created; } sub whensent_local { - return shift->whensent->set_time_zone($tz); + my $self = shift; + + return $self->whensent + ? $self->whensent->set_time_zone($tz) + : $self->confirmed; } sub lastupdate_local { - return shift->lastupdate->set_time_zone($tz); + my $self = shift; + + return $self->lastupdate + ? $self->lastupdate->set_time_zone($tz) + : $self->lastupdate; } =head2 check_for_errors |