Bug 26922: Regression tests
[koha.git] / Koha / Template / Plugin / Desks.pm
blob58e100163d79f86efcef86a9f096d0e93e55b024
1 package Koha::Template::Plugin::Desks;
3 # Copyright (C) BULAC 2020
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
12 # Koha is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with Koha; if not, see <http://www.gnu.org/licenses>.
20 use Modern::Perl;
22 use Template::Plugin;
23 use base qw( Template::Plugin );
25 use C4::Context;
26 use Koha::Desks;
28 =head1 NAME
30 Koha::Template::Plugin::Desks - A module for dealing with desks in templates
32 =head1 DESCRIPTION
34 This plugin contains getters functions, to fetch all desks a library
35 got or the current one.
37 =head2 Methods
39 =head3 GetLoggedInDeskId
41 [% Desks.GetLoggedInDeskId %]
43 return the desk name that is attached to the session or empty string
45 =cut
47 sub GetLoggedInDeskId {
48 my ($self) = @_;
50 return C4::Context->userenv
51 ? C4::Context->userenv->{'desk_id'}
52 : '';
55 =head3 GetLoggedInDeskName
57 [% Desks.GetLoggedInDeskName %]
59 Return the desk name that is attached to the session or empty string
61 =cut
63 sub GetLoggedInDeskName {
64 my ($self) = @_;
66 return C4::Context->userenv
67 ? C4::Context->userenv->{'desk_name'}
68 : '';
71 =head3 ListForLibrary
73 [% Desks.ListForLibrary %]
75 returns all desks existing at the current library
77 =cut
79 sub ListForLibrary {
80 my ($self) = @_;
81 my $branch_limit =
82 C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
83 return scalar Koha::Desks->search(
84 { branchcode => $branch_limit },
85 { order_by => { '-asc' => 'desk_name' } }
89 =head3 all
91 [% Desks.all %]
93 returns all desks existing at all libraries
95 =cut
98 sub all {
100 my ( $self ) = @_;
101 return Koha::Desks->search();