diff options
Diffstat (limited to 'perllib/FixMyStreet')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report/New.pm | 27 | ||||
-rw-r--r-- | perllib/FixMyStreet/Template.pm | 1 |
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 }, ] |