X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=members%2Fmember.pl;h=13daa0d586055d75ab51a5483ca329eac4cd9a53;hb=4d50e9579a8352d72e41c674a061fc2edb64473d;hp=1d3fc1587906b6274ef64576621df08f4faa764b;hpb=d5938493d7f1519c345762d747554326c006719c;p=koha.git diff --git a/members/member.pl b/members/member.pl index 1d3fc15879..13daa0d586 100755 --- a/members/member.pl +++ b/members/member.pl @@ -1,8 +1,7 @@ #!/usr/bin/perl -# $Id$ -#script to do a borrower enquiery/brin up borrower details etc +#script to do a borrower enquiry/bring up borrower details etc #written 20/12/99 by chris@katipo.co.nz @@ -26,91 +25,133 @@ use strict; use C4::Auth; use C4::Output; -use C4::Interface::CGI::Output; use CGI; use C4::Members; -use HTML::Template; + my $input = new CGI; my $quicksearch = $input->param('quicksearch'); +my $startfrom = $input->param('startfrom')||1; +my $resultsperpage = $input->param('resultsperpage')||C4::Context->preference("PatronsPerPage")||20; + my ($template, $loggedinuser, $cookie); if($quicksearch){ - ($template, $loggedinuser, $cookie) + ($template, $loggedinuser, $cookie) = get_template_and_user({template_name => "members/member-quicksearch-results.tmpl", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => {borrowers => 1}, - debug => 1, - }); + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => {borrowers => 1}, + debug => 1, + }); } else { - ($template, $loggedinuser, $cookie) + ($template, $loggedinuser, $cookie) = get_template_and_user({template_name => "members/member.tmpl", - query => $input, - type => "intranet", - authnotrequired => 0, - flagsrequired => {borrowers => 1}, - debug => 1, - }); + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => {borrowers => 1}, + debug => 1, + }); } my $theme = $input->param('theme') || "default"; - # only used if allowthemeoverride is set + + +$template->param( + "AddPatronLists_".C4::Context->preference("AddPatronLists")=> "1", + ); +if (C4::Context->preference("AddPatronLists")=~/code/){ + my $categories=GetBorrowercategoryList; + $categories->[0]->{'first'}=1; + $template->param(categories=>$categories); +} + # only used if allowthemeoverride is set #my %tmpldata = pathtotemplate ( template => 'member.tmpl', theme => $theme, language => 'fi' ); - # FIXME - Error-checking + # FIXME - Error-checking #my $template = HTML::Template->new( filename => $tmpldata{'path'}, -# die_on_bad_params => 0, -# loop_context_vars => 1 ); - +# die_on_bad_params => 0, +# loop_context_vars => 1 ); my $member=$input->param('member'); my $orderby=$input->param('orderby'); $orderby = "surname,firstname" unless $orderby; $member =~ s/,//g; #remove any commas from search string $member =~ s/\*/%/g; -my $env; my ($count,$results); if(length($member) == 1) { - ($count,$results)=BornameSearch($env,$member,$orderby,"simple"); + ($count,$results)=SearchMember($member,$orderby,"simple"); } else { - ($count,$results)=BornameSearch($env,$member,$orderby,"advanced"); + ($count,$results)=SearchMember($member,$orderby,"advanced"); } my @resultsdata; -my $background = 0; -for (my $i=0; $i < $count; $i++){ +my $toggle = 0; +my $to=($count>($startfrom*$resultsperpage)?$startfrom*$resultsperpage:$count); +for (my $i=($startfrom-1)*$resultsperpage; $i < $to; $i++){ #find out stats - my ($od,$issue,$fines)=borrdata2($env,$results->[$i]{'borrowernumber'}); + my ($od,$issue,$fines)=GetMemberIssuesAndFines($results->[$i]{'borrowernumber'}); 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'}, - streetaddress => $results->[$i]{'streetaddress'}, - city => $results->[$i]{'city'}, - branchcode => $results->[$i]{'branchcode'}, - odissue => "$od/$issue", - fines => $fines, - borrowernotes => $results->[$i]{'borrowernotes'}, - sort1 => $results->[$i]{'sort1'}, - sort2 => $results->[$i]{'sort2'}, - ); - if ( $background ) { $background = 0; } else {$background = 1; } + toggle => $toggle, + count => $i+1, + borrowernumber => $results->[$i]{'borrowernumber'}, + cardnumber => $results->[$i]{'cardnumber'}, + surname => $results->[$i]{'surname'}, + firstname => $results->[$i]{'firstname'}, + categorycode => $results->[$i]{'categorycode'}, + category_type => $results->[$i]{'category_type'}, + category_description => $results->[$i]{'description'}, + address => $results->[$i]{'address'}, + address2 => $results->[$i]{'address2'}, + city => $results->[$i]{'city'}, + zipcode => $results->[$i]{'zipcode'}, + branchcode => $results->[$i]{'branchcode'}, + overdues => $od, + issues => $issue, + odissue => "$od/$issue", + fines => sprintf("%.2f",$fines), + borrowernotes => $results->[$i]{'borrowernotes'}, + sort1 => $results->[$i]{'sort1'}, + sort2 => $results->[$i]{'sort2'}, + dateexpiry => C4::Dates->new($results->[$i]{'dateexpiry'},'iso')->output('syspref'), + ); + if ( $toggle ) { $toggle = 0; } else {$toggle = 1; } push(@resultsdata, \%row); } +my $base_url = + 'member.pl?&' + . join( + '&', + map { $_->{term} . '=' . $_->{val} } ( + { term => 'member', val => $member}, + { term => 'orderby', val => $orderby }, + { term => 'resultsperpage', val => $resultsperpage }, + { term => 'type', val => 'intranet' }, + ) + ); + +$template->param( + paginationbar => pagination_bar( + $base_url, int( ($count - 1) / $resultsperpage ) + 1, + $startfrom, 'startfrom' + ), + startfrom => $startfrom, + from => ($startfrom-1)*$resultsperpage+1, + to => $to, + multipage => ($count != $to || $startfrom!=1), +); $template->param( - member => $member, - numresults => $count, - resultsloop => \@resultsdata ); + searching => "1", + member => $member, + numresults => $count, + resultsloop => \@resultsdata, + ); output_html_with_http_headers $input, $cookie, $template->output;