aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/FixMyStreet/App/Controller/Report/New.pm2
-rw-r--r--t/app/controller/report_new_open311.t8
2 files changed, 9 insertions, 1 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm
index 110d268d7..af9ca50b5 100644
--- a/perllib/FixMyStreet/App/Controller/Report/New.pm
+++ b/perllib/FixMyStreet/App/Controller/Report/New.pm
@@ -642,7 +642,7 @@ sub setup_categories_and_bodies : Private {
my $metas = $contact->get_extra_fields;
if (scalar @$metas) {
foreach (@$metas) {
- if ($_->{values} && $_->{values}->{value}) {
+ if (ref $_->{values} eq 'HASH') {
$_->{values} = [ map { { name => $_->{name}[0], key => $_->{key}[0] } } @{$_->{values}->{value}} ];
}
}
diff --git a/t/app/controller/report_new_open311.t b/t/app/controller/report_new_open311.t
index 22b37fd55..db6e07933 100644
--- a/t/app/controller/report_new_open311.t
+++ b/t/app/controller/report_new_open311.t
@@ -30,6 +30,14 @@ my $contact1 = $mech->create_contact_ok(
}
],
);
+my $contact1b = $mech->create_contact_ok(
+ body_id => $body->id, # Edinburgh
+ category => 'Moon lighting',
+ email => '100b',
+ extra => [ { description => 'Moon type', code => 'type', required => 'False', values =>
+ [ { name => 'Full', key => 'full' }, { name => 'New', key => 'new' } ] }
+ ],
+);
my $contact2 = $mech->create_contact_ok(
body_id => $body->id, # Edinburgh
category => 'Graffiti Removal',