diff options
author | Struan Donald <struan@exo.org.uk> | 2018-09-10 16:59:48 +0100 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2018-09-12 14:21:49 +0100 |
commit | 26db180bb3663f0ac74ca7c925bde13446b9ded8 (patch) | |
tree | 75f7bb815563af84bf2fc4094b176546fb93e01b /perllib/FixMyStreet/Script/UpdateAllReports.pm | |
parent | 52c76cda5259cac6230dec8913a108b0635e1413 (diff) |
pull out reports group_by code to method
So we can use this in collideoscope
Diffstat (limited to 'perllib/FixMyStreet/Script/UpdateAllReports.pm')
-rwxr-xr-x | perllib/FixMyStreet/Script/UpdateAllReports.pm | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/perllib/FixMyStreet/Script/UpdateAllReports.pm b/perllib/FixMyStreet/Script/UpdateAllReports.pm index 5fa080b78..e3ea63e6e 100755 --- a/perllib/FixMyStreet/Script/UpdateAllReports.pm +++ b/perllib/FixMyStreet/Script/UpdateAllReports.pm @@ -115,6 +115,21 @@ sub loop_period { return @out; } +sub get_period_group { + my ($start, $end) = @_; + my ($group_by, $extra); + if (DateTime::Duration->compare($end - $start, DateTime::Duration->new(months => 1)) < 0) { + $group_by = 'day'; + } elsif (DateTime::Duration->compare($end - $start, DateTime::Duration->new(years => 1)) < 0) { + $group_by = 'month'; + $extra = 'month_abbr'; + } else { + $group_by = 'year'; + } + + return ($group_by, $extra); +} + sub generate_dashboard { my $body = shift; @@ -139,15 +154,7 @@ sub generate_dashboard { $min_confirmed = FixMyStreet->set_time_zone(DateTime->now)->truncate(to => 'day'); } - my ($group_by, $extra); - if (DateTime::Duration->compare($end_today - $min_confirmed, DateTime::Duration->new(months => 1)) < 0) { - $group_by = 'day'; - } elsif (DateTime::Duration->compare($end_today - $min_confirmed, DateTime::Duration->new(years => 1)) < 0) { - $group_by = 'month'; - $extra = 'month_abbr'; - } else { - $group_by = 'year'; - } + my ($group_by, $extra) = get_period_group($min_confirmed, $end_today); my @problem_periods = loop_period($min_confirmed, $extra, $group_by); my %problems_reported_by_period = stuff_by_day_or_year( |