diff options
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Report/New.pm | 2 | ||||
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Default.pm | 9 | ||||
-rw-r--r-- | perllib/FixMyStreet/Cobrand/UK.pm | 5 | ||||
-rw-r--r-- | templates/web/base/report/new/category_extras_fields.html | 34 |
4 files changed, 36 insertions, 14 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Report/New.pm b/perllib/FixMyStreet/App/Controller/Report/New.pm index b3b5d00fd..e2569d2e9 100644 --- a/perllib/FixMyStreet/App/Controller/Report/New.pm +++ b/perllib/FixMyStreet/App/Controller/Report/New.pm @@ -913,7 +913,7 @@ sub set_report_extras : Private { foreach my $contact (@$contacts) { my $metas = $contact->get_metadata_for_input; foreach my $field ( @$metas ) { - if ( lc( $field->{required} ) eq 'true' ) { + if ( lc( $field->{required} ) eq 'true' && !$c->cobrand->category_extra_hidden($field->{code})) { unless ( $c->get_param($param_prefix . $field->{code}) ) { $c->stash->{field_errors}->{ $field->{code} } = _('This information is required'); } diff --git a/perllib/FixMyStreet/Cobrand/Default.pm b/perllib/FixMyStreet/Cobrand/Default.pm index 13d5cb8f1..a2ca9f8c1 100644 --- a/perllib/FixMyStreet/Cobrand/Default.pm +++ b/perllib/FixMyStreet/Cobrand/Default.pm @@ -1177,4 +1177,13 @@ sub lookup_by_ref_regex { return qr/^\s*ref:\s*(\d+)\s*$/; } +=head2 category_extra_hidden + +Return true if an Open311 service attribute should be a hidden field. +=cut + +sub category_extra_hidden { + my ($self, $meta) = @_; +} + 1; diff --git a/perllib/FixMyStreet/Cobrand/UK.pm b/perllib/FixMyStreet/Cobrand/UK.pm index 206f4bb1e..08ecf0b7d 100644 --- a/perllib/FixMyStreet/Cobrand/UK.pm +++ b/perllib/FixMyStreet/Cobrand/UK.pm @@ -396,5 +396,10 @@ sub lookup_by_ref_regex { return qr/^\s*(\d+)\s*$/; } +sub category_extra_hidden { + my ($self, $meta) = @_; + return 1 if $meta eq 'usrn' || $meta eq 'asset_id'; + return 0; +} 1; diff --git a/templates/web/base/report/new/category_extras_fields.html b/templates/web/base/report/new/category_extras_fields.html index ec72ee7f3..012007e06 100644 --- a/templates/web/base/report/new/category_extras_fields.html +++ b/templates/web/base/report/new/category_extras_fields.html @@ -1,19 +1,27 @@ [%- FOR meta IN category_extras.$category %] [%- meta_name = meta.code -%] - <label for="[% cat_prefix %]form_[% meta_name %]">[% meta.description %]</label> - [% IF field_errors.$meta_name %] - <p class='form-error'>[% field_errors.$meta_name %]</p> - [% END -%] - [% IF meta.variable != 'false' %] - [% IF meta.exists('values') %] - <select class="form-control" name="[% cat_prefix %][% meta_name %]" id="[% cat_prefix %]form_[% meta_name %]"[% meta.required == 'true' ? ' required' : '' %]> - [% FOR option IN meta.values %] - <option value="[% option.key %]"[% IF option.key == report_meta.$meta_name.value %] selected[% END %]>[% option.name %]</option> + [% IF c.cobrand.category_extra_hidden(meta_name) %] + + <input type="hidden" value="" name="[% cat_prefix %][% meta_name %]" id="[% cat_prefix %]form_[% meta_name %]"> + + [% ELSE %] + + <label for="[% cat_prefix %]form_[% meta_name %]">[% meta.description %]</label> + [% IF field_errors.$meta_name %] + <p class='form-error'>[% field_errors.$meta_name %]</p> + [% END -%] + [% IF meta.variable != 'false' %] + [% IF meta.exists('values') %] + <select class="form-control" name="[% cat_prefix %][% meta_name %]" id="[% cat_prefix %]form_[% meta_name %]"[% meta.required == 'true' ? ' required' : '' %]> + [% FOR option IN meta.values %] + <option value="[% option.key %]"[% IF option.key == report_meta.$meta_name.value %] selected[% END %]>[% option.name %]</option> + [% END %] + </select> + [% ELSE %] + <input class="form-control" type="text" value="[% report_meta.$meta_name.value | html %]" name="[% cat_prefix %][% meta_name %]" id="[% cat_prefix %]form_[% meta_name %]"[% meta.required == 'true' ? ' required' : '' %]> [% END %] - </select> - [% ELSE %] - <input class="form-control" type="text" value="[% report_meta.$meta_name.value | html %]" name="[% cat_prefix %][% meta_name %]" id="[% cat_prefix %]form_[% meta_name %]"[% meta.required == 'true' ? ' required' : '' %]> + [% END %] + [% END %] - [% END %] [%- END %] |