X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=members%2Fguarantor_search.pl;h=0287047740bc9fe5b9d1d29e7be1a8f0e6ed66ba;hb=a3036b4760d80dd3d2188f5f95c6f4279ecef74b;hp=59ea5b19de6aee18be2c42fc2d57c19bcb31c764;hpb=5c2def51587c4b2636b5f066306b8bd5dc0e7a7a;p=koha.git diff --git a/members/guarantor_search.pl b/members/guarantor_search.pl index 59ea5b19de..0287047740 100755 --- a/members/guarantor_search.pl +++ b/members/guarantor_search.pl @@ -1,110 +1,57 @@ #!/usr/bin/perl - -# script to find a guarantor - -# Copyright 2006 OUEST PROVENCE -# # 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. +# Copyright 2014 BibLibre +# +# 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; FIXME - Bug 2505 +use Modern::Perl; + +use CGI qw ( -utf8 ); use C4::Auth; use C4::Output; -use CGI; -use C4::Dates qw/format_date/; use C4::Members; -my $input = new CGI; -my ($template, $loggedinuser, $cookie); - - ($template, $loggedinuser, $cookie) - = get_template_and_user({template_name => "members/guarantor_search.tmpl", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => {borrowers => 1}, - debug => 1, - }); -# } -my $theme = $input->param('theme') || "default"; - # only used if allowthemeoverride is set +use Koha::Patron::Categories; +my $input = new CGI; -my $member=$input->param('member'); -my $orderby=$input->param('orderby'); -my $category_type=$input->param('category_type'); -$orderby = "surname,firstname" unless $orderby; -$member =~ s/,//g; #remove any commas from search string -$member =~ s/\*/%/g; -if ($member eq ''){ - $template->param(results=>0); -}else{ - $template->param(results=>1); -} - -my $search_category = 'A'; -if ($category_type eq 'P'){ - $search_category = 'I'; -} - -my ($count,$results); -my @resultsdata; -my $background = 0; - -if ($member ne ''){ - $results = Search({''=>$member, category_type=>$search_category},$orderby); - $count = $results ? @$results : 0; - - for (my $i=0; $i < $count; $i++){ - #find out stats - my ($od,$issue,$fines)=GetMemberIssuesAndFines($results->[$i]{'borrowerid'}); - my $guarantorinfo=uc($results->[$i]{'surname'})." , ".ucfirst($results->[$i]{'firstname'}); - my %row = ( - background => $background, - count => $i+1, - borrowernumber => $results->[$i]{'borrowernumber'}, - cardnumber => $results->[$i]{'cardnumber'}, - surname => $results->[$i]{'surname'}, - firstname => $results->[$i]{'firstname'}, - categorycode => $results->[$i]{'categorycode'}, - streetnumber => $results->[$i]{'streetnumber'}, - address => $results->[$i]{'address'}, - address2 => $results->[$i]{'address2'}, - city => $results->[$i]{'city'}, - state => $results->[$i]{'state'}, - zipcode => $results->[$i]{'zipcode'}, - country => $results->[$i]{'country'}, - branchcode => $results->[$i]{'branchcode'}, - guarantorinfo =>$guarantorinfo, - #op - dateofbirth =>format_date($results->[$i]{'dateofbirth'}), - #fi op - - odissue => "$od/$issue", - fines => $fines, - borrowernotes => $results->[$i]{'borrowernotes'}); - if ( $background ) { $background = 0; } else {$background = 1; } - push(@resultsdata, \%row); - } -} -$template->param( - member => $member, - numresults => $count, - category_type => $category_type, - resultsloop => \@resultsdata ); - -output_html_with_http_headers $input, $cookie, $template->output; +my $dbh = C4::Context->dbh; + +my ( $template, $loggedinuser, $cookie, $staff_flags ) = get_template_and_user( + { template_name => "common/patron_search.tt", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => { borrowers => 'edit_borrowers' }, + } +); + +my $q = $input->param('q') || ''; +my $op = $input->param('op') || ''; + +my $referer = $input->referer(); + +my $patron_categories = Koha::Patron::Categories->search_limited; +$template->param( + view => ( $input->request_method() eq "GET" ) ? "show_form" : "show_results", + columns => ['cardnumber', 'name', 'dateofbirth', 'address', 'action' ], + json_template => 'members/tables/guarantor_search.tt', + selection_type => 'select', + alphabet => ( C4::Context->preference('alphabet') || join ' ', 'A' .. 'Z' ), + categories => $patron_categories, + aaSorting => 1, +); +output_html_with_http_headers( $input, $cookie, $template->output );