Fix editvisibility based on component

i18n
Vitaliy Filippov 2016-09-15 17:56:09 +03:00
parent ae75b4e493
commit 6a9039b06e
4 changed files with 26 additions and 18 deletions

View File

@ -91,26 +91,32 @@ sub new
my $product; my $product;
if (ref $param) if (ref $param)
{ {
$product = $param->{product}; if ($param->{id})
my $name = $param->{name};
if (!defined $product)
{ {
ThrowCodeError('bad_arg', { $param = { condition => 'id = ?', values => [ $param->{id} ] };
argument => 'product',
function => "${class}::new",
});
} }
if (!defined $name) else
{ {
ThrowCodeError('bad_arg', { $product = $param->{product};
argument => 'name', my $name = $param->{name};
function => "${class}::new", if (!defined $product)
}); {
ThrowCodeError('bad_arg', {
argument => 'product',
function => "${class}::new",
});
}
if (!defined $name)
{
ThrowCodeError('bad_arg', {
argument => 'name',
function => "${class}::new",
});
}
my $condition = 'product_id = ? AND name = ?';
my @values = ($product->id, $name);
$param = { condition => $condition, values => \@values };
} }
my $condition = 'product_id = ? AND name = ?';
my @values = ($product->id, $name);
$param = { condition => $condition, values => \@values };
} }
unshift @_, $param; unshift @_, $param;
@ -507,6 +513,7 @@ sub description { return $_[0]->{description}; }
sub wiki_url { return $_[0]->{wiki_url}; } sub wiki_url { return $_[0]->{wiki_url}; }
sub product_id { return $_[0]->{product_id}; } sub product_id { return $_[0]->{product_id}; }
sub is_active { return $_[0]->{isactive}; } sub is_active { return $_[0]->{isactive}; }
sub full_name { return $_[0]->product->name.'/'.$_[0]->name; }
############################### ###############################
#### Subroutines #### #### Subroutines ####

View File

@ -314,6 +314,7 @@ sub get_all_names
sub is_active { return $_[0]->{isactive}; } sub is_active { return $_[0]->{isactive}; }
sub sortkey { return $_[0]->{sortkey}; } sub sortkey { return $_[0]->{sortkey}; }
sub full_name { return $_[0]->name; }
# FIXME Never use bug_count() on a copy from legal_values, as the result will be cached... # FIXME Never use bug_count() on a copy from legal_values, as the result will be cached...
sub bug_count sub bug_count

View File

@ -3,7 +3,7 @@
# Authors: Vitaliy Filippov <vitalif@mail.ru>, Vladimir Koptev <vladimir.koptev@gmail.com> # Authors: Vitaliy Filippov <vitalif@mail.ru>, Vladimir Koptev <vladimir.koptev@gmail.com>
#%] #%]
[% SET title = "Select Active " _ field.description _ " Objects For " _ field.value_field.description _ ' ' _ visibility_value.name | html %] [% SET title = "Select Active " _ field.description _ " Objects For " _ field.value_field.description _ ' ' _ visibility_value.full_name | html %]
[% PROCESS global/header.html.tmpl %] [% PROCESS global/header.html.tmpl %]

View File

@ -114,7 +114,7 @@
[% FOREACH field_value = field.value_field.legal_values %] [% FOREACH field_value = field.value_field.legal_values %]
[% IF field.visibility_field_id != field.value_field_id || field.has_visibility_value(field_value.id) %] [% IF field.visibility_field_id != field.value_field_id || field.has_visibility_value(field_value.id) %]
<option value="[% field_value.id | none %]" [% ' selected="selected"' IF field.is_value_enabled(value.id, field_value.id) %]> <option value="[% field_value.id | none %]" [% ' selected="selected"' IF field.is_value_enabled(value.id, field_value.id) %]>
[%- field_value.name | html -%] [%- field_value.full_name | html -%]
</option> </option>
[% END %] [% END %]
[% END %] [% END %]