@@ -, +, @@ --- Koha/AuthorisedValue.pm | 12 +++++------ Koha/Schema/Result/AuthorisedValue.pm | 2 +- .../Result/AuthorisedValueLocalization.pm | 2 +- t/db_dependent/AuthorisedValues.t | 20 +++++++++---------- 4 files changed, 18 insertions(+), 18 deletions(-) --- a/Koha/AuthorisedValue.pm +++ a/Koha/AuthorisedValue.pm @@ -71,8 +71,8 @@ sub opac_translated_description { return $self->translated_description unless $self->lib_opac; my $translated_description = Koha::Localizations->search({ - code => sprintf( "%s_%s", $self->category, $self->authorised_value ), - entity => 'authorised_values', + code => $self->authorised_value, + entity => 'authorised_values:' . $self->category, lang => $lang, interface => 'opac', })->next; @@ -97,8 +97,8 @@ sub translated_description { } $lang ||= C4::Languages::getlanguage; my $translated_description = Koha::Localizations->search({ - code => sprintf( "%s_%s", $self->category, $self->authorised_value ), - entity => 'authorised_values', + code => $self->authorised_value, + entity => 'authorised_values:' . $self->category, lang => $lang, })->next; return $translated_description @@ -113,8 +113,8 @@ sub translated_description { sub translated_descriptions { my ( $self ) = @_; my @translated_descriptions = Koha::Localizations->search( - { entity => 'authorised_values', - code => sprintf( "%s_%s", $self->category, $self->authorised_value ), + { entity => 'authorised_values:' . $self->category, + code => $self->authorised_value, } ); return [ map { --- a/Koha/Schema/Result/AuthorisedValue.pm +++ a/Koha/Schema/Result/AuthorisedValue.pm @@ -159,7 +159,7 @@ __PACKAGE__->has_many( die "no interface specified!" unless $INTERFACE; return ({ - "$args->{foreign_alias}.code" => \["= CONCAT(me.category, '_', me.authorised_value)"], + "$args->{foreign_alias}.entity" => \["= CONCAT('authorised_values:', me.category)"], "$args->{foreign_alias}.lang" => $LANGUAGE, "$args->{foreign_alias}.interface" => $INTERFACE, }); --- a/Koha/Schema/Result/AuthorisedValueLocalization.pm +++ a/Koha/Schema/Result/AuthorisedValueLocalization.pm @@ -9,7 +9,7 @@ __PACKAGE__->table_class('DBIx::Class::ResultSource::View'); __PACKAGE__->table('authorised_value_localizations'); __PACKAGE__->result_source_instance->is_virtual(1); __PACKAGE__->result_source_instance->view_definition( - "SELECT localization_id, code, lang, translation, interface FROM localization WHERE entity='authorised_values'" + "SELECT localization_id, entity, code, lang, translation, interface FROM localization WHERE entity LIKE 'authorised_values:%'" ); __PACKAGE__->add_columns( --- a/t/db_dependent/AuthorisedValues.t +++ a/t/db_dependent/AuthorisedValues.t @@ -258,8 +258,8 @@ subtest "localization" => sub { ); # no translation Koha::Localization->new( { - entity => 'authorised_values', - code => sprintf( "%s_%s", $av1->category, $av1->authorised_value ), + entity => 'authorised_values:' . $av1->category, + code => $av1->authorised_value, lang => 'es-ES', interface => 'intranet', translation => 'traducción 1' @@ -267,8 +267,8 @@ subtest "localization" => sub { )->store; Koha::Localization->new( { - entity => 'authorised_values', - code => sprintf( "%s_%s", $av1->category, $av1->authorised_value ), + entity => 'authorised_values:' . $av1->category, + code => $av1->authorised_value, lang => 'es-ES', interface => 'opac', translation => 'opac traducción 1' @@ -276,8 +276,8 @@ subtest "localization" => sub { )->store; Koha::Localization->new( { - entity => 'authorised_values', - code => sprintf( "%s_%s", $av1->category, $av2->authorised_value ), + entity => 'authorised_values:' . $av1->category, + code => $av2->authorised_value, lang => 'es-ES', interface => 'intranet', translation => 'traducción 2' @@ -286,8 +286,8 @@ subtest "localization" => sub { Koha::Localization->new( { - entity => 'authorised_values', - code => sprintf( "%s_%s", $av1->category, $av1->authorised_value ), + entity => 'authorised_values:' . $av1->category, + code => $av1->authorised_value, lang => 'fr-FR', interface => 'intranet', translation => 'traduction 1' @@ -295,8 +295,8 @@ subtest "localization" => sub { )->store; Koha::Localization->new( { - entity => 'authorised_values', - code => sprintf( "%s_%s", $av2->category, $av2->authorised_value ), + entity => 'authorised_values:' . $av2->category, + code => $av2->authorised_value, lang => 'de-DE', interface => 'intranet', translation => 'Übersetzung 2' --