diff options
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Dashboard.pm | 7 | ||||
-rw-r--r-- | perllib/FixMyStreet/DB/Result/Problem.pm | 1 | ||||
-rw-r--r-- | t/app/controller/dashboard.t | 26 |
3 files changed, 34 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Dashboard.pm b/perllib/FixMyStreet/App/Controller/Dashboard.pm index f3989e760..dbbd57623 100644 --- a/perllib/FixMyStreet/App/Controller/Dashboard.pm +++ b/perllib/FixMyStreet/App/Controller/Dashboard.pm @@ -212,6 +212,7 @@ sub export_as_csv { 'Status', 'Latitude', 'Longitude', 'Nearest Postcode', + 'Ward', 'Report URL', ); my @body = ($csv->string); @@ -243,6 +244,11 @@ sub export_as_csv { } } + my $wards = join ', ', + map { $c->stash->{children}->{$_}->{name} } + grep {$c->stash->{children}->{$_} } + split ',', $hashref->{areas}; + $csv->combine( @{$hashref}{ 'id', @@ -259,6 +265,7 @@ sub export_as_csv { 'latitude', 'longitude', 'postcode', }, + $wards, (join '', $c->cobrand->base_url_for_report($report), $report->url), ); diff --git a/perllib/FixMyStreet/DB/Result/Problem.pm b/perllib/FixMyStreet/DB/Result/Problem.pm index 77190679b..3b622b561 100644 --- a/perllib/FixMyStreet/DB/Result/Problem.pm +++ b/perllib/FixMyStreet/DB/Result/Problem.pm @@ -861,6 +861,7 @@ sub as_hashref { latitude => $self->latitude, longitude => $self->longitude, postcode => $self->postcode, + areas => $self->areas, state => $self->state, state_t => _( $self->state ), used_map => $self->used_map, diff --git a/t/app/controller/dashboard.t b/t/app/controller/dashboard.t index b87b58b38..4ecad9f31 100644 --- a/t/app/controller/dashboard.t +++ b/t/app/controller/dashboard.t @@ -593,6 +593,7 @@ FixMyStreet::override_config { detail => "this report\nis split across\nseveral lines", state => "confirmed", conf_dt => DateTime->now(), + areas => 62883, } ); $mech->get_ok('/dashboard?export=1'); open my $data_handle, '<', \$mech->content; @@ -602,6 +603,31 @@ FixMyStreet::override_config { push @rows, $row; } is scalar @rows, 6, '1 (header) + 5 (reports) = 6 lines'; + + is scalar @{$rows[0]}, 16, '16 columns present'; + + is_deeply $rows[0], + [ + 'Report ID', + 'Title', + 'Detail', + 'User Name', + 'Category', + 'Created', + 'Confirmed', + 'Acknowledged', + 'Fixed', + 'Closed', + 'Status', + 'Latitude', + 'Longitude', + 'Nearest Postcode', + 'Ward', + 'Report URL', + ], + 'Column headers look correct'; + + is $rows[5]->[14], 'Bradford-on-Avon', 'Ward column is name not ID'; }; }; restore_time; |