aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/Cobrand/TfL.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/Cobrand/TfL.pm')
-rw-r--r--perllib/FixMyStreet/Cobrand/TfL.pm68
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",