Bug 23281: Implement ->search_with_library_limits in Koha::Patron::Attribute::Types
[koha.git] / Koha / Patron / Attribute / Types.pm
blob5064fd247973dae0f977aec72611f11f1bdd0f8d
1 package Koha::Patron::Attribute::Types;
3 # This file is part of Koha.
5 # Koha is free software; you can redistribute it and/or modify it under the
6 # terms of the GNU General Public License as published by the Free Software
7 # Foundation; either version 3 of the License, or (at your option) any later
8 # version.
10 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License along
15 # with Koha; if not, write to the Free Software Foundation, Inc.,
16 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 use Modern::Perl;
20 use Koha::Patron::Attribute::Type;
22 use base qw(Koha::Objects Koha::Objects::Limit::Library);
24 =head1 NAME
26 Koha::Patron::Attribute::Types Object set class
28 =head1 API
30 =head2 Class Methods
32 =cut
34 =head3 Koha::Patron::Attribute::Types->search();
36 my @attribute_types = Koha::Patron::Attribute::Types->search($params);
38 =cut
40 sub search {
41 my ( $self, $params, $attributes ) = @_;
43 my $branchcode = $params->{branchcode};
44 delete( $params->{branchcode} );
46 my $or =
47 $branchcode
48 ? {
49 '-or' => [
50 'borrower_attribute_types_branches.b_branchcode' => undef,
51 'borrower_attribute_types_branches.b_branchcode' => $branchcode,
54 : {};
55 my $join = $branchcode ? { join => 'borrower_attribute_types_branches' } : {};
56 $attributes //= {};
57 $attributes = { %$attributes, %$join };
58 return $self->SUPER::search( { %$params, %$or, }, $attributes );
62 =head3 type
64 =cut
66 sub _type {
67 return 'BorrowerAttributeType';
70 sub object_class {
71 return 'Koha::Patron::Attribute::Type';