X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=Koha%2FLibraries.pm;h=20ceb8aa348b07cdfe2d1efafe1cc5377937de3f;hb=bdee83ef937262cfd504edb643f9b32bbcf8ad41;hp=9f4831c40612cc3fba11a897b29f80d5f49f21d1;hpb=7ef9c1b6f5d490c3e3d9ac8f201410e30ac847cc;p=koha-ffzg.git diff --git a/Koha/Libraries.pm b/Koha/Libraries.pm index 9f4831c406..20ceb8aa34 100644 --- a/Koha/Libraries.pm +++ b/Koha/Libraries.pm @@ -4,26 +4,30 @@ package Koha::Libraries; # # This file is part of Koha. # -# 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 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. +# 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, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . use Modern::Perl; -use Carp; -use Koha::Database; +use C4::Context; +use Koha::Biblios; +use Koha::Database; +use Koha::Item::Transfer::Limits; +use Koha::Items; use Koha::Library; +use Koha::Patrons; use base qw(Koha::Objects); @@ -33,10 +37,33 @@ Koha::Libraries - Koha Library Object set class =head1 API -=head2 Class Methods +=head2 Class methods + +=head3 search_filtered =cut +sub search_filtered { + my ( $self, $params, $attributes ) = @_; + + my @branchcodes; + my $userenv = C4::Context->userenv; + if ( $userenv and $userenv->{number} ) { + my $only_from_group = $params->{only_from_group}; + if ( $only_from_group ) { + my $logged_in_user = Koha::Patrons->find( $userenv->{number} ); + my @branchcodes = $logged_in_user->libraries_where_can_see_patrons; + $params->{branchcode} = { -in => \@branchcodes } if @branchcodes; + } else { + if ( C4::Context::only_my_library ) { + $params->{branchcode} = C4::Context->userenv->{branch}; + } + } + } + delete $params->{only_from_group}; + return $self->SUPER::search( $params, $attributes ); +} + =head3 type =cut