diff options
author | Matthew Somerville <matthew@mysociety.org> | 2013-02-21 12:31:17 +0000 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2013-02-21 12:31:17 +0000 |
commit | e2bf144a6aaa19779fc55a04081a3c269b9d0f81 (patch) | |
tree | 00318d801d35948938743608252fccd2d1b4e585 /perllib/FixMyStreet/DB/Result/Problem.pm | |
parent | eb0c0d42f3596c5dc21e9bcdcc02a4008a541c34 (diff) | |
parent | f8a8948ddb790e7e7593d538c55a3a278fbf3973 (diff) |
Merge remote branch 'origin/zurich'
(locale ignored, will rerun .po extraction after to get all changes.)
Conflicts:
locale/FixMyStreet.po
locale/cy_GB.UTF-8/LC_MESSAGES/EmptyHomes.po
locale/de_CH.UTF-8/LC_MESSAGES/FixMyStreet.po
locale/nb_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
locale/nn_NO.UTF-8/LC_MESSAGES/FixMyStreet.po
templates/web/fixmystreet/report/banner.html
templates/web/zurich/faq/faq-de-ch.html
Diffstat (limited to 'perllib/FixMyStreet/DB/Result/Problem.pm')
-rw-r--r-- | perllib/FixMyStreet/DB/Result/Problem.pm | 53 |
1 files changed, 20 insertions, 33 deletions
diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm index 24aa12944..ec15600b6 100644 --- a/perllib/FixMyStreet/DB/Result/Problem.pm +++ b/perllib/FixMyStreet/DB/Result/Problem.pm @@ -301,6 +301,7 @@ sub all_states { 'confirmed' => 1, 'investigating' => 1, 'in progress' => 1, + 'planned' => 1, 'action scheduled' => 1, 'fixed' => 1, 'fixed - council' => 1, @@ -342,37 +343,23 @@ sub council_states { my $tz = DateTime::TimeZone->new( name => "local" ); -sub confirmed_local { - my $self = shift; - - return $self->confirmed - ? $self->confirmed->set_time_zone($tz) - : $self->confirmed; -} - -sub created_local { - my $self = shift; - - return $self->created - ? $self->created->set_time_zone($tz) - : $self->created; -} - -sub whensent_local { - my $self = shift; +my $tz_f; +$tz_f = DateTime::TimeZone->new( name => FixMyStreet->config('TIME_ZONE') ) + if FixMyStreet->config('TIME_ZONE'); - return $self->whensent - ? $self->whensent->set_time_zone($tz) - : $self->whensent; -} - -sub lastupdate_local { - my $self = shift; +my $stz = sub { + my ( $orig, $self ) = ( shift, shift ); + my $s = $self->$orig(@_); + return $s unless $s && UNIVERSAL::isa($s, "DateTime"); + $s->set_time_zone($tz); + $s->set_time_zone($tz_f) if $tz_f; + return $s; +}; - return $self->lastupdate - ? $self->lastupdate->set_time_zone($tz) - : $self->lastupdate; -} +around created => $stz; +around confirmed => $stz; +around whensent => $stz; +around lastupdate => $stz; around service => sub { my ( $orig, $self ) = ( shift, shift ); @@ -574,7 +561,7 @@ meta data about the report. sub meta_line { my ( $problem, $c ) = @_; - my $date_time = Utils::prettify_dt( $problem->confirmed_local ); + my $date_time = Utils::prettify_dt( $problem->confirmed ); my $meta = ''; # FIXME Should be in cobrand @@ -709,7 +696,7 @@ sub duration_string { my ( $problem, $c ) = @_; my $body = $problem->body( $c ); return sprintf(_('Sent to %s %s later'), $body, - Utils::prettify_duration($problem->whensent_local->epoch - $problem->confirmed_local->epoch, 'minute') + Utils::prettify_duration($problem->whensent->epoch - $problem->confirmed->epoch, 'minute') ); } @@ -832,8 +819,8 @@ sub as_hashref { is_fixed => $self->fixed_states->{ $self->state } ? 1 : 0, photo => $self->get_photo_params, meta => $self->confirmed ? $self->meta_line( $c ) : '', - confirmed_pp => $self->confirmed ? Utils::prettify_dt( $self->confirmed_local, 1 ): '', - created_pp => Utils::prettify_dt( $self->created_local, 1 ), + confirmed_pp => $self->confirmed ? $c->cobrand->prettify_dt( $self->confirmed ): '', + created_pp => $c->cobrand->prettify_dt( $self->created ), }; } |