aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/App/Controller')
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin.pm12
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm1
-rw-r--r--perllib/FixMyStreet/App/Controller/Dashboard.pm4
-rw-r--r--perllib/FixMyStreet/App/Controller/Reports.pm4
4 files changed, 15 insertions, 6 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm
index 7c81251e8..1158b688a 100644
--- a/perllib/FixMyStreet/App/Controller/Admin.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin.pm
@@ -2147,10 +2147,14 @@ sub check_page_allowed : Private {
sub fetch_all_bodies : Private {
my ($self, $c ) = @_;
- my @bodies = $c->model('DB::Body')->translated->all_sorted;
- if ( $c->cobrand->moniker eq 'zurich' ) {
- @bodies = $c->cobrand->admin_fetch_all_bodies( @bodies );
- }
+ my @bodies = $c->cobrand->call_hook('admin_fetch_all_bodies') || do {
+ my $bodies = $c->model('DB::Body')->search(undef, {
+ columns => [ "id", "name", "deleted", "parent" ],
+ })->with_parent_name;
+ $bodies = $bodies->with_defect_type_count if $c->stash->{with_defect_type_count};
+ $bodies->translated->all_sorted;
+ };
+
$c->stash->{bodies} = \@bodies;
return 1;
diff --git a/perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm b/perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm
index 5dab1da2c..ed9b40fd0 100644
--- a/perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin/DefectTypes.pm
@@ -12,6 +12,7 @@ sub index : Path : Args(0) {
my $user = $c->user;
if ($user->is_superuser) {
+ $c->stash->{with_defect_type_count} = 1;
$c->forward('/admin/fetch_all_bodies');
} elsif ( $user->from_body ) {
$c->forward('load_user_body', [ $user->from_body->id ]);
diff --git a/perllib/FixMyStreet/App/Controller/Dashboard.pm b/perllib/FixMyStreet/App/Controller/Dashboard.pm
index 790e7ec29..aadd913ca 100644
--- a/perllib/FixMyStreet/App/Controller/Dashboard.pm
+++ b/perllib/FixMyStreet/App/Controller/Dashboard.pm
@@ -99,7 +99,9 @@ sub index : Path : Args(0) {
$c->stash->{body_name} = join "", map { $children->{$_}->{name} } grep { $children->{$_} } $c->user->area_id;
}
} else {
- my @bodies = $c->model('DB::Body')->active->translated->with_area_count->all_sorted;
+ my @bodies = $c->model('DB::Body')->search(undef, {
+ columns => [ "id", "name" ],
+ })->active->translated->with_area_count->all_sorted;
$c->stash->{bodies} = \@bodies;
}
diff --git a/perllib/FixMyStreet/App/Controller/Reports.pm b/perllib/FixMyStreet/App/Controller/Reports.pm
index ade04fc7c..005397fda 100644
--- a/perllib/FixMyStreet/App/Controller/Reports.pm
+++ b/perllib/FixMyStreet/App/Controller/Reports.pm
@@ -66,7 +66,9 @@ sub index : Path : Args(0) {
$c->stash->{children} = $children;
}
} else {
- my @bodies = $c->model('DB::Body')->active->translated->with_area_count->all_sorted;
+ my @bodies = $c->model('DB::Body')->search(undef, {
+ columns => [ "id", "name" ],
+ })->active->translated->with_area_count->all_sorted;
@bodies = @{$c->cobrand->call_hook('reports_hook_restrict_bodies_list', \@bodies) || \@bodies };
$c->stash->{bodies} = \@bodies;
}