Bug 19830: Add the Koha::Patron->old_checkouts method
[koha.git] / Koha / Library.pm
blob151f30e56aee64a1a6dfc997b62dc0bfdb0cb1cf
1 package Koha::Library;
3 # Copyright 2015 Koha Development team
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 3 of the License, or (at your option) any later
10 # version.
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License along
17 # with Koha; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 use Modern::Perl;
22 use Carp;
24 use C4::Context;
26 use Koha::Database;
28 use base qw(Koha::Object);
30 =head1 NAME
32 Koha::Library - Koha Library Object class
34 =head1 API
36 =head2 Class methods
38 =head3 get_categories
40 TODO: Ask the author to add a proper description
42 =cut
44 sub get_categories {
45 my ( $self, $params ) = @_;
46 # TODO This should return Koha::LibraryCategories
47 return $self->{_result}->categorycodes( $params );
50 =head3 update_categories
52 TODO: Ask the author to add a proper description
54 =cut
56 sub update_categories {
57 my ( $self, $categories ) = @_;
58 $self->_result->delete_related( 'branchrelations' );
59 $self->add_to_categories( $categories );
62 =head3 add_to_categories
64 TODO: Ask the author to add a proper description
66 =cut
68 sub add_to_categories {
69 my ( $self, $categories ) = @_;
70 for my $category ( @$categories ) {
71 $self->_result->add_to_categorycodes( $category->_result );
75 =head3 get_effective_marcorgcode
77 my $marcorgcode = Koha::Libraries->find( $library_id )->get_effective_marcorgcode();
79 Returns the effective MARC organization code of the library. It falls back to the value
80 from the I<MARCOrgCode> syspref if undefined for the library.
82 =cut
84 sub get_effective_marcorgcode {
85 my ( $self ) = @_;
87 return $self->marcorgcode || C4::Context->preference("MARCOrgCode");
90 =head2 Internal methods
92 =head3 _type
94 =cut
96 sub _type {
97 return 'Branch';