Bug 14659: (QA followup) switch to using Koha::Patron::Categories
[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 C4::Category;
24 use Koha::Patron::Categories;
25
26 sub GetName {
27     my ( $self, $categorycode ) = @_;
28
29     return Koha::Patron::Categories->find( $categorycode )->description;
30 }
31
32 sub all {
33     my ( $self, $params ) = @_;
34     my $selected = $params->{selected};
35
36     my @categories = C4::Category->all;
37     if ( $selected ) {
38         for my $category ( @categories ) {
39             if ( $category->{categorycode} eq $selected ) {
40                 $category->{selected} = 1;
41             }
42         }
43     }
44     return @categories;
45 }
46
47 1;
48
49 =head1 NAME
50
51 Koha::Template::Plugin::Categories - TT Plugin for categories
52
53 =head1 SYNOPSIS
54
55 [% USE Categories %]
56
57 [% Categories.all() %]
58
59 =head1 ROUTINES
60
61 =head2 all
62
63 In a template, you can get the all categories with
64 the following TT code: [% Categories.all() %]
65
66 =head2 GetName
67
68 In a template, you can get the name of a patron category using
69 [% Categories.GetName( categorycode ) %].
70
71 =head1 AUTHOR
72
73 Jonathan Druart <jonathan.druart@biblibre.com>
74
75 =cut