diff options
Diffstat (limited to 'perllib/FixMyStreet/Cobrand/TfL.pm')
-rw-r--r-- | perllib/FixMyStreet/Cobrand/TfL.pm | 68 |
1 files changed, 28 insertions, 40 deletions
diff --git a/perllib/FixMyStreet/Cobrand/TfL.pm b/perllib/FixMyStreet/Cobrand/TfL.pm index b98ad1d8b..b04841c39 100644 --- a/perllib/FixMyStreet/Cobrand/TfL.pm +++ b/perllib/FixMyStreet/Cobrand/TfL.pm @@ -209,7 +209,7 @@ sub around_nearby_filter { sub state_groups_inspect { my $rs = FixMyStreet::DB->resultset("State"); - my @open = grep { $_ !~ /^(planned|action scheduled|for triage)$/ } FixMyStreet::DB::Result::Problem->open_states; + my @open = grep { $_ !~ /^(planned|investigating|for triage)$/ } FixMyStreet::DB::Result::Problem->open_states; my @closed = grep { $_ ne 'closed' } FixMyStreet::DB::Result::Problem->closed_states; [ [ $rs->display('confirmed'), \@open ], @@ -242,51 +242,32 @@ sub available_permissions { } sub dashboard_export_problems_add_columns { - my $self = shift; - my $c = $self->{c}; + my ($self, $csv) = @_; - my %groups; - if ($c->stash->{body}) { - %groups = FixMyStreet::DB->resultset('Contact')->search({ - body_id => $c->stash->{body}->id, - })->group_lookup; - } + $csv->modify_csv_header( Ward => 'Borough' ); + + $csv->add_csv_columns( + agent_responsible => "Agent responsible", + safety_critical => "Safety critical", + delivered_to => "Delivered to", + closure_email_at => "Closure email at", + reassigned_at => "Reassigned at", + reassigned_by => "Reassigned by", + ); + $csv->splice_csv_column('fixed', action_scheduled => 'Action scheduled'); - splice @{$c->stash->{csv}->{headers}}, 5, 0, 'Subcategory'; - splice @{$c->stash->{csv}->{columns}}, 5, 0, 'subcategory'; - - $c->stash->{csv}->{headers} = [ - map { $_ eq 'Ward' ? 'Borough' : $_ } @{ $c->stash->{csv}->{headers} }, - "Agent responsible", - "Safety critical", - "Delivered to", - "Closure email at", - "Reassigned at", - "Reassigned by", - ]; - - $c->stash->{csv}->{columns} = [ - @{ $c->stash->{csv}->{columns} }, - "agent_responsible", - "safety_critical", - "delivered_to", - "closure_email_at", - "reassigned_at", - "reassigned_by", - ]; - - if ($c->stash->{category}) { - my ($contact) = grep { $_->category eq $c->stash->{category} } @{$c->stash->{contacts}}; + if ($csv->category) { + my @contacts = $csv->body->contacts->search(undef, { order_by => [ 'category' ] } )->all; + my ($contact) = grep { $_->category eq $csv->category } @contacts; if ($contact) { foreach (@{$contact->get_metadata_for_storage}) { next if $_->{code} eq 'safety_critical'; - push @{$c->stash->{csv}->{columns}}, "extra.$_->{code}"; - push @{$c->stash->{csv}->{headers}}, $_->{description}; + $csv->add_csv_columns( "extra.$_->{code}" => $_->{description} ); } } } - $c->stash->{csv}->{extra_data} = sub { + $csv->csv_extra_data(sub { my $report = shift; my $agent = $report->shortlisted_user; @@ -315,8 +296,6 @@ sub dashboard_export_problems_add_columns { my $fields = { acknowledged => $report->whensent, agent_responsible => $agent ? $agent->name : '', - category => $groups{$report->category}, - subcategory => $report->category, user_name_display => $user_name_display, safety_critical => $safety_critical, delivered_to => join(',', @$delivered_to), @@ -329,7 +308,7 @@ sub dashboard_export_problems_add_columns { $fields->{"extra.$_->{name}"} = $_->{value}; } return $fields; - }; + }); } sub must_have_2fa { @@ -449,6 +428,13 @@ sub munge_surrounding_london { # Don't send any TfL categories %$bodies = map { $_->id => $_ } grep { $_->name ne 'TfL' } values %$bodies; } + + # Hackney doesn't have any of the council TfL categories so don't show + # any Hackney categories on red routes + my %bodies = map { $_->name => $_->id } values %$bodies; + if ( $bodies{'Hackney Council'} && $self->report_new_is_on_tlrn ) { + delete $bodies->{ $bodies{'Hackney Council'} }; + } } sub munge_red_route_categories { @@ -498,6 +484,7 @@ sub _tlrn_categories { [ "Mobile Crane Operation", "Other (TfL)", "Pavement Defect (uneven surface / cracked paving slab)", + "Pavement Overcrowding", "Pothole", "Pothole (minor)", "Roadworks", @@ -505,6 +492,7 @@ sub _tlrn_categories { [ "Single Light out (street light)", "Standing water", "Street Light - Equipment damaged, pole leaning", + "Streetspace Feedback", "Unstable hoardings", "Unstable scaffolding", "Worn out road markings", |