diff options
author | Matthew Somerville <matthew@mysociety.org> | 2020-03-16 14:12:49 +0000 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2020-03-19 17:38:13 +0000 |
commit | 1a3a9076e7e0faba55be2c127c725d349a6daae7 (patch) | |
tree | a0e95828c42638cb826813782a5beb1b5a9610a2 | |
parent | b0d165d88cb45587bbae598e8b0aafb4bfb9b29f (diff) |
[Admin] Access staff-only categories in admin.
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Admin.pm | 2 | ||||
-rw-r--r-- | perllib/FixMyStreet/DB/ResultSet/Contact.pm | 5 | ||||
-rw-r--r-- | t/app/controller/report_new_staff.t | 3 |
4 files changed, 10 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bc43e66c..f03ccf413 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Bugfixes - Application user in Docker container can't install packages. #2914 - Look at all categories when sending reports. + - Provide access to staff-only categories in admin. - UK: - Added junction lookup, so you can search for things like "M60, Junction 2" diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm index bd45ad55e..f3d1b2e63 100644 --- a/perllib/FixMyStreet/App/Controller/Admin.pm +++ b/perllib/FixMyStreet/App/Controller/Admin.pm @@ -180,7 +180,7 @@ sub fetch_contacts : Private { my $contacts = $c->stash->{body}->contacts->search(undef, { order_by => [ 'category' ] } ); $c->stash->{contacts} = $contacts; - $c->stash->{live_contacts} = $contacts->not_deleted; + $c->stash->{live_contacts} = $contacts->not_deleted_admin; $c->stash->{any_not_confirmed} = $contacts->search({ state => 'unconfirmed' })->count; if ( $c->get_param('text') && $c->get_param('text') eq '1' ) { diff --git a/perllib/FixMyStreet/DB/ResultSet/Contact.pm b/perllib/FixMyStreet/DB/ResultSet/Contact.pm index eb502c190..f8f182e05 100644 --- a/perllib/FixMyStreet/DB/ResultSet/Contact.pm +++ b/perllib/FixMyStreet/DB/ResultSet/Contact.pm @@ -20,6 +20,11 @@ sub not_deleted { return $rs->search( { $rs->me('state') => { -not_in => [ 'deleted', 'staff' ] } } ); } +sub not_deleted_admin { + my $rs = shift; + return $rs->search( { $rs->me('state') => { -not_in => [ 'deleted' ] } } ); +} + sub active { my $rs = shift; $rs->search( { $rs->me('state') => [ 'unconfirmed', 'confirmed' ] } ); diff --git a/t/app/controller/report_new_staff.t b/t/app/controller/report_new_staff.t index ee9dff9e4..422b154ed 100644 --- a/t/app/controller/report_new_staff.t +++ b/t/app/controller/report_new_staff.t @@ -237,6 +237,9 @@ subtest 'staff-only categories when reporting' => sub { $edin_trees->discard_changes; is $edin_trees->state, 'staff', 'category is staff only'; + $mech->get_ok('/admin/templates/' . $body_ids{2651} . '/new'); + $mech->content_contains('Trees'); + my $extra_details = $mech->get_ok_json( '/report/new/ajax?latitude=55.952055&longitude=-3.189579' ); is_deeply [ sort keys %{$extra_details->{by_category}} ], [ 'Street lighting', 'Trees' ], 'Superuser can see staff-only category'; |