Bug 23271: Replace search_limited with search_with_library_limits
[koha.git] / Koha / Template / Plugin / Categories.pm
1 package Koha::Template::Plugin::Categories;
2
3 # Copyright 2013-2014 BibLibre
4 #
5 # Koha is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # Koha is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18 use Modern::Perl;
19
20 use Template::Plugin;
21 use base qw( Template::Plugin );
22
23 use List::Util qw(any);
24 use Koha::Patron::Categories;
25
26 sub all {
27     my ( $self, $params ) = @_;
28     return Koha::Patron::Categories->search_with_library_limits($params);
29 }
30
31 sub GetName {
32     my ( $self, $categorycode ) = @_;
33
34     return Koha::Patron::Categories->find( $categorycode )->description;
35 }
36
37 sub can_any_reset_password {
38     return ( any { $_->effective_reset_password } @{ Koha::Patron::Categories->search->as_list } )
39         ? 1
40         : 0;
41 }
42
43 1;
44
45 =head1 NAME
46
47 Koha::Template::Plugin::Categories - TT Plugin for categories
48
49 =head1 SYNOPSIS
50
51 [% USE Categories %]
52
53 [% Categories.all() %]
54
55 =head1 ROUTINES
56
57 =head2 all
58
59 In a template, you can get the all categories with
60 the following TT code: [% Categories.all() %]
61
62 =head2 GetName
63
64 In a template, you can get the name of a patron category using
65 [% Categories.GetName( categorycode ) %].
66
67 =head2 can_any_reset_password
68
69 Returns I<true> is any patron category has the I<effective_reset_password> evaluate to I<true>.
70 Returns I<false> otherwise.
71
72 =head1 AUTHOR
73
74 Jonathan Druart <jonathan.druart@biblibre.com>
75
76 =cut