MT#64131 fix non-default NULL preference render

* non-default NULL value is now correctly selected
  in the UI preferences list as well as in the edit form.

Change-Id: Ief3b2e6778441c736589cfccc5a5fb7e60a7dcf0
master
Kirill Solomko 5 days ago
parent 9d70f62f70
commit f6246ba094

@ -1610,11 +1610,9 @@ sub create_preference_form {
}
}
} elsif ($c->stash->{preference_meta}->data_type eq 'enum') {
$preselected_value = undef;
if ($c->stash->{preference}->first) {
$preselected_value = $c->stash->{preference}->first->value unless ($c->stash->{preference_meta}->data_type eq 'blob');
} else {
my $default_val = first { $_->default_val; } @{ $enums };
$preselected_value = $default_val ? $default_val->value : undef;
}
} elsif ($c->stash->{preference_meta}->max_occur == 1) {
if ($c->stash->{preference}->first) {

@ -175,7 +175,7 @@
[% ELSIF r.data_type == "enum" %]
<select autocomplete="off" disabled="disabled">
[% FOREACH e IN r.enums %]
<option [% IF r.value == e.value || (!r.value.defined && e.default_val == 1) || (!r.value.defined && !e.value.defined) %]selected="selected"[% END %]>[% e.label | html %]</option>
<option [% IF r.value == e.value || (!r.value.defined && e.default_val == 1 && !e.value.defined) || (!r.value.defined && !e.value.defined) %]selected="selected"[% END %]>[% e.label | html %]</option>
[% END %]
</select>
[% END %]

Loading…
Cancel
Save