Bug 138035 - fix ambiguity between showing all values and hiding in single product
git-svn-id: svn://svn.office.custis.ru/3rdparty/bugzilla.org/trunk@1860 6955db30-a419-402b-8a0d-67ecbb4d7f56master
parent
50a5e14f3a
commit
eb8f56d70d
|
@ -479,6 +479,20 @@ sub has_visibility_value
|
|||
return $hash->{$value};
|
||||
}
|
||||
|
||||
sub visible_for_all
|
||||
{
|
||||
my $self = shift;
|
||||
my ($default) = @_;
|
||||
$default = 0 if !defined $default;
|
||||
return $default if $self->name eq '---' || !$self->field->value_field_id;
|
||||
my $hash = Bugzilla->fieldvaluecontrol_hash
|
||||
->{$self->field->value_field_id}
|
||||
->{values}
|
||||
->{$self->field->id}
|
||||
->{$self->id};
|
||||
return !%$hash;
|
||||
}
|
||||
|
||||
sub is_default_controlled_value
|
||||
{
|
||||
my $self = shift;
|
||||
|
|
|
@ -83,7 +83,6 @@ unless ($action) {
|
|||
my $controlled_fields = { map { $_->id => $_ } values $field->controls_visibility_of() };
|
||||
my @fields = Bugzilla->get_fields({custom => 1, sort => 1});
|
||||
my $except_fields = { map { $_->id => { map { $_->id => 1 } values $_->controls_visibility_of } } @fields };
|
||||
# die(Dumper $except_fields);
|
||||
$vars->{'fields'} = [
|
||||
map {
|
||||
{
|
||||
|
@ -101,9 +100,8 @@ unless ($action) {
|
|||
exit;
|
||||
}
|
||||
|
||||
if ($action eq 'update') {
|
||||
# check_token_data($token, 'change_visibility');
|
||||
# delete_token($token);
|
||||
if ($action eq 'update' && $token) {
|
||||
check_token_data($token, 'change_visibility');
|
||||
|
||||
my @fields = $cgi->param('fields[]');
|
||||
my $controlled_fields = { map { $_->id => $_ } values $field->controls_visibility_of() };
|
||||
|
@ -167,6 +165,7 @@ if ($action eq 'update') {
|
|||
push @updated, $cfield->{field}->description;
|
||||
}
|
||||
}
|
||||
delete_token($token);
|
||||
|
||||
$vars->{'field'} = $field;
|
||||
$vars->{'value'} = $value;
|
||||
|
|
|
@ -53,7 +53,15 @@
|
|||
<a title="Править значение..." href="editvalues.cgi?action=edit&field=[% field.name %]&value=[% value.name | uri %]">→</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
[% IF value.visible_for_all() %]
|
||||
<input type="checkbox" id="val_[% value.id %]" value="[% value.id %]" name="values" onchange="changeDefaultEnabling(this);" checked="checked" disabled="disabled"/>
|
||||
<p>
|
||||
Значение видимо для всех значений поля <strong>[% field.value_field.description FILTER html %]</strong><br/>
|
||||
<a href="editvalues.cgi?action=edit&field=[% field.name %]&value=[% value.name | uri %]">Редактировать</a>
|
||||
</p>
|
||||
[% ELSE %]
|
||||
<input type="checkbox" id="val_[% value.id %]" value="[% value.id %]" name="values" onchange="changeDefaultEnabling(this);"[% ' checked="checked"' IF value.has_visibility_value(field_value.id, 0) %]/>
|
||||
[% END %]
|
||||
</td>
|
||||
<td align="center">
|
||||
<input type="[% (field.type == constants.FIELD_TYPE_MULTI_SELECT ? 'checkbox' : 'radio') %]" id="def_val_[% value.id %]" value="[% value.id %]" name="default_value_ids"[% ' checked="checked"' IF value.is_default_controlled_value(field_value.id, 0) %]/>
|
||||
|
|
Loading…
Reference in New Issue