aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm27
-rw-r--r--perllib/FixMyStreet/Template.pm1
2 files changed, 17 insertions, 11 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index ba37a25fa..6f6428089 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -328,13 +328,15 @@ sub disable_form_message : Private {
$out{all} .= ' ' if $out{all};
$out{all} .= $_->{description};
} elsif (($_->{variable} || '') eq 'true' && @{$_->{values} || []}) {
+ my %category;
foreach my $opt (@{$_->{values}}) {
if ($opt->{disable}) {
- $out{message} = $opt->{disable_message} || $_->{datatype_description};
- $out{code} = $_->{code};
- push @{$out{answers}}, $opt->{key};
+ $category{message} = $opt->{disable_message} || $_->{datatype_description};
+ $category{code} = $_->{code};
+ push @{$category{answers}}, $opt->{key};
}
}
+ push @{$out{questions}}, \%category if %category;
}
}
@@ -1575,16 +1577,19 @@ sub check_for_category : Private {
my $disable_form_messages = $c->forward('disable_form_message');
if ($disable_form_messages->{all}) {
$c->stash->{disable_form_message} = $disable_form_messages->{all};
- } elsif (my $code = $disable_form_messages->{code}) {
- my $answer = $c->get_param($code);
- my $message = $disable_form_messages->{message};
- if ($answer) {
- foreach (@{$disable_form_messages->{answers}}) {
- if ($answer eq $_) {
- $c->stash->{disable_form_message} = $message;
+ } elsif (my $questions = $disable_form_messages->{questions}) {
+ foreach my $question (@$questions) {
+ my $answer = $c->get_param($question->{code});
+ my $message = $question->{message};
+ if ($answer) {
+ foreach (@{$question->{answers}}) {
+ if ($answer eq $_) {
+ $c->stash->{disable_form_message} = $message;
+ }
}
}
- } else {
+ }
+ if (!$c->stash->{disable_form_message}) {
$c->stash->{have_disable_qn_to_answer} = 1;
}
}
diff --git a/perllib/FixMyStreet/Template.pm b/perllib/FixMyStreet/Template.pm
index afab83e41..ffebb00cf 100644
--- a/perllib/FixMyStreet/Template.pm
+++ b/perllib/FixMyStreet/Template.pm
@@ -144,6 +144,7 @@ sub sanitize {
rules => [
%allowed_tags,
a => { href => qr{^(http|/|tel)}i, style => 1, target => qr/^_blank$/, title => 1 },
+ img => { src => 1, alt => 1, width => 1, height => 1, hspace => 1, vspace => 1, align => 1, sizes => 1, srcset => 1 },
font => { color => 1 },
span => { style => 1 },
]