diff options
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report/New.pm | 2 | ||||
-rw-r--r-- | t/app/controller/report_new_open311.t | 8 |
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', |