X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=members%2Fmembers-home.pl;h=659ce8e0f02a9fda9b4361fa9403c3e809bd2e02;hb=c95f5c17a6b1e41be28819f79ebb0e6fa8f015e8;hp=830800e0ab7d7b517493a90f7f04b6f06e94be2b;hpb=16f1fffdd1f5d1c97db0bf664f83496864b7e24d;p=koha.git diff --git a/members/members-home.pl b/members/members-home.pl index 830800e0ab..659ce8e0f0 100755 --- a/members/members-home.pl +++ b/members/members-home.pl @@ -3,84 +3,75 @@ # Parts Copyright Biblibre 2010 # 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 2 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 strict; -use warnings; +use Modern::Perl; -use CGI; +use CGI qw ( -utf8 ); use C4::Auth; use C4::Output; use C4::Context; use C4::Members; -use C4::Branch; -use C4::Category; +use Koha::Patron::Modifications; +use Koha::Libraries; +use Koha::List::Patron; +use Koha::Patron::Categories; my $query = new CGI; -my $branch = $query->param('branchcode'); -my $template_name; -$branch = q{} unless defined $branch; - -my ($template, $loggedinuser, $cookie) - = get_template_and_user({template_name => "members/member.tmpl", +my ($template, $loggedinuser, $cookie, $flags) + = get_template_and_user({template_name => "members/member.tt", query => $query, type => "intranet", authnotrequired => 0, - flagsrequired => {borrowers => 1}, + flagsrequired => {borrowers => 'edit_borrowers'}, debug => 1, }); -my $branches = GetBranches; -my @branchloop; -foreach (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %{$branches}) { - push @branchloop, { - value => $_, - selected => ($branches->{$_}->{branchcode} eq $branch), - branchname => $branches->{$_}->{branchname}, - }; -} - -my @categories; -my $no_categories; my $no_add = 0; -if(scalar(@branchloop) < 1){ +if( Koha::Libraries->search->count < 1){ $no_add = 1; $template->param(no_branches => 1); -} -else { - $template->param(branchloop=>\@branchloop); -} - -@categories=C4::Category->all; -if(scalar(@categories) < 1){ - $no_categories = 1; } -if($no_categories && C4::Context->preference("AddPatronLists")=~/code/){ +my @categories = Koha::Patron::Categories->search_limited; +if(scalar(@categories) < 1){ $no_add = 1; $template->param(no_categories => 1); -} +} else { $template->param(categories=>\@categories); } +my $branch = + ( C4::Context->preference("IndependentBranchesPatronModifications") + || C4::Context->preference("IndependentBranches") ) + && !$flags->{'superlibrarian'} + ? C4::Context->userenv()->{'branch'} + : undef; + +my $pending_borrower_modifications = Koha::Patron::Modifications->pending_count( $branch ); + $template->param( - "AddPatronLists_".C4::Context->preference("AddPatronLists")=> "1", no_add => $no_add, + pending_borrower_modifications => $pending_borrower_modifications, ); -my @letters = map { {letter => $_} } ( 'A' .. 'Z'); -$template->param( letters => \@letters ); + +$template->param( + alphabet => C4::Context->preference('alphabet') || join (' ', 'A' .. 'Z'), + patron_lists => [ GetPatronLists() ], + PatronsPerPage => C4::Context->preference("PatronsPerPage") || 20, +); output_html_with_http_headers $query, $cookie, $template->output;