Main Koha release repository https://koha-community.org
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

131 linhas
3.6 KiB

package Koha::Template::Plugin::AuthorisedValues;
# Copyright 2012 ByWater Solutions
# Copyright 2013-2014 BibLibre
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use Template::Plugin;
use base qw( Template::Plugin );
use C4::Koha;
use Koha::AuthorisedValues;
sub GetByCode {
my ( $self, $category, $code, $opac ) = @_;
my $av = Koha::AuthorisedValues->search({ category => $category, authorised_value => $code });
return $av->count
? $opac
? $av->next->opac_description
: $av->next->lib
: $code;
}
sub Get {
my ( $self, $category, $selected, $opac ) = @_;
return GetAuthorisedValues( $category, $selected, $opac );
}
sub GetAuthValueDropbox {
my ( $self, $category ) = @_;
my $branch_limit = C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
return Koha::AuthorisedValues->search(
{
branchcode => $branch_limit,
category => $category,
},
{
order_by => [ 'category', 'lib', 'lib_opac' ],
}
);
}
sub GetCategories {
my ( $self, $params ) = @_;
my $selected = $params->{selected};
my @categories = Koha::AuthorisedValues->new->categories;
return [
map {
{
category => $_,
( ( $selected and $selected eq $_ ) ? ( selected => 1 ) : () ),
}
} @categories
];
}
sub GetDescriptionsByKohaField {
my ( $self, $params ) = @_;
return Koha::AuthorisedValues->get_descriptions_by_koha_field(
{ kohafield => $params->{kohafield} } );
}
sub GetDescriptionByKohaField {
my ( $self, $params ) = @_;
my $av = Koha::AuthorisedValues->get_description_by_koha_field(
{
kohafield => $params->{kohafield},
authorised_value => $params->{authorised_value},
}
);
my $description = $av->{lib} || $params->{authorised_value} || '';
return $params->{opac}
? $av->{opac_description} || $description
: $description;
}
1;
=head1 NAME
Koha::Template::Plugin::AuthorisedValues - TT Plugin for authorised values
=head1 SYNOPSIS
[% USE AuthorisedValues %]
[% AuthorisedValues.GetByCode( 'CATEGORY', 'AUTHORISED_VALUE_CODE', 'IS_OPAC' ) %]
[% AuthorisedValues.GetAuthValueDropbox( $category, $default ) %]
=head1 ROUTINES
=head2 GetByCode
In a template, you can get the description for an authorised value with
the following TT code: [% AuthorisedValues.GetByCode( 'CATEGORY', 'AUTHORISED_VALUE_CODE', 'IS_OPAC' ) %]
=head2 GetAuthValueDropbox
The parameters are identical to those used by the subroutine C4::Koha::GetAuthValueDropbox
=head2 GetDescriptionsByKohaField
The parameters are identical to those used by the subroutine Koha::AuthorisedValues->get_descriptions_by_koha_field
=head2 GetDescriptionByKohaField
The parameters are identical to those used by the subroutine Koha::AuthorisedValues->get_description_by_koha_field
=head1 AUTHOR
Kyle M Hall <kyle@bywatersolutions.com>
Jonathan Druart <jonathan.druart@biblibre.com>
=cut