aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/App/Controller/Report
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2019-08-14 16:06:41 +0100
committerMatthew Somerville <matthew@mysociety.org>2019-08-29 18:12:38 +0100
commit7570b9d1d95ec5a5ee58df69feab487be78831aa (patch)
tree3ae88581f4b97ec09e729395d5030bffaac2e6a8 /perllib/FixMyStreet/App/Controller/Report
parent39fd4d22fec9425743b0a9ebced6d1b73c3d857b (diff)
Add admin to disable reporting form per category.
Remove all existing hard-coded register_category calls, and have a new way of implementing staff_ignore.
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Report')
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm17
1 files changed, 17 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index be812c040..5e4018e4d 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -281,6 +281,11 @@ sub by_category_ajax_data : Private {
$body->{category_extra_json} = $c->forward('generate_category_extra_json');
}
+ if ( $c->stash->{category_extras}->{$category} && @{ $c->stash->{category_extras}->{$category} } >= 1 ) {
+ my $disable_form = $c->forward('disable_form_message');
+ $body->{disable_form} = $disable_form if $disable_form;
+ }
+
my $unresponsive = $c->stash->{unresponsive}->{$category};
$unresponsive ||= $c->stash->{unresponsive}->{ALL} || '' if $type eq 'one';
@@ -303,6 +308,18 @@ sub by_category_ajax_data : Private {
return $body;
}
+sub disable_form_message : Private {
+ my ( $self, $c ) = @_;
+
+ my @descriptions = map {
+ $_->{description}
+ } grep {
+ $_->{disable_form} && $_->{disable_form} eq 'true'
+ } @{ $c->stash->{category_extras}->{$c->stash->{category}} };
+
+ return join " ", @descriptions;
+}
+
=head2 report_import
Action to accept report creations from iPhones and other mobile apps. URL is