aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller/Around.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Around.pm')
-rw-r--r--perllib/FixMyStreet/App/Controller/Around.pm15
1 files changed, 8 insertions, 7 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Around.pm b/perllib/FixMyStreet/App/Controller/Around.pm
index af50f1883..803bfad58 100644
--- a/perllib/FixMyStreet/App/Controller/Around.pm
+++ b/perllib/FixMyStreet/App/Controller/Around.pm
@@ -240,12 +240,8 @@ sub check_and_stash_category : Private {
$c->stash->{bodies_ids} = [ map { $_->id } @bodies];
$c->{stash}->{list_of_names_as_string} = $csv->string;
- my $where = { body_id => [ keys %bodies ], };
-
- my $cobrand_where = $c->cobrand->call_hook('munge_around_category_where', $where );
- if ( $cobrand_where ) {
- $where = $cobrand_where;
- }
+ my $where = { body_id => [ keys %bodies ], };
+ $c->cobrand->call_hook('munge_around_category_where', $where);
my @categories = $c->model('DB::Contact')->not_deleted->search(
$where,
@@ -254,6 +250,9 @@ sub check_and_stash_category : Private {
distinct => 1
}
)->all_sorted;
+ # Ensure only uniquely named categories are shown
+ my %seen;
+ @categories = grep { !$seen{$_->category_display}++ } @categories;
$c->stash->{filter_categories} = \@categories;
my %categories_mapped = map { $_->category => 1 } @categories;
$c->forward('/report/stash_category_groups', [ \@categories ]) if $c->cobrand->enable_category_groups;
@@ -262,6 +261,8 @@ sub check_and_stash_category : Private {
my %valid_categories = map { $_ => 1 } grep { $_ && $categories_mapped{$_} } @$categories;
$c->stash->{filter_category} = \%valid_categories;
$c->cobrand->call_hook('munge_around_filter_category_list');
+
+ $c->forward('/report/assigned_users_only', [ \@categories ]);
}
sub map_features : Private {
@@ -293,7 +294,7 @@ sub map_features : Private {
@pins = map {
# Here we might have a DB::Problem or a DB::Result::Nearby, we always want the problem.
my $p = (ref $_ eq 'FixMyStreet::DB::Result::Nearby') ? $_->problem : $_;
- $p->pin_data($c, 'around');
+ $p->pin_data('around');
} @$on_map, @$nearby;
}