diff options
-rw-r--r-- | perllib/Open311.pm | 2 | ||||
-rw-r--r-- | t/app/controller/report_new_open311.t | 2 | ||||
-rw-r--r-- | templates/web/fixmystreet/report/new/category_extras.html | 6 |
3 files changed, 5 insertions, 5 deletions
diff --git a/perllib/Open311.pm b/perllib/Open311.pm index b81cb978a..6ad93cf78 100644 --- a/perllib/Open311.pm +++ b/perllib/Open311.pm @@ -418,7 +418,7 @@ sub _get_xml_object { my $obj; eval { - $obj = $simple ->XMLin( $xml ); + $obj = $simple ->XMLin( $xml, ForceArray => [ qr/^key$/, qr/^name$/ ] ); }; return $obj; diff --git a/t/app/controller/report_new_open311.t b/t/app/controller/report_new_open311.t index 863571ad0..55c5a92e8 100644 --- a/t/app/controller/report_new_open311.t +++ b/t/app/controller/report_new_open311.t @@ -29,7 +29,7 @@ my $contact1 = FixMyStreet::App->model('DB::Contact')->find_or_create( { email => '100', extra => [ { description => 'Lamppost number', code => 'number', required => 'True' }, { description => 'Lamppost type', code => 'type', required => 'False', values => - { value => { Yellow => { key => 'modern' }, 'Gas' => { key => 'old' } } } + { value => [ { name => ['Gas'], key => ['old'] }, { name => [ 'Yellow' ], key => [ 'modern' ] } ] } } ], } ); diff --git a/templates/web/fixmystreet/report/new/category_extras.html b/templates/web/fixmystreet/report/new/category_extras.html index c2a213225..cb8220eee 100644 --- a/templates/web/fixmystreet/report/new/category_extras.html +++ b/templates/web/fixmystreet/report/new/category_extras.html @@ -11,8 +11,8 @@ [% END -%] [% IF meta.exists('values') %] <select name="[% meta_name %]" id="form_[% meta_name %]"[% meta.required == 'true' ? ' required' : '' %]> - [% FOR option IN meta.values.value.keys %] - <option value="[% meta.values.value.$option.key %]">[% option %]</option> + [% FOR option IN meta.values.value %] + <option value="[% option.key.0 %]">[% option.name.0 %]</option> [% END %] </select> [% ELSE %] @@ -21,4 +21,4 @@ [%- END %] [%- END %] -</div>
\ No newline at end of file +</div> |