use strict;
use warnings;
-use CGI;
+use CGI qw ( -utf8 );
use C4::Auth;
use C4::Output;
my $startfrom = $cgi->param('startfrom')||1;
my $resultsperpage = $cgi->param('resultsperpage')||C4::Context->preference("PatronsPerPage")||20;
my $category = $cgi->param('category') || undef;
-my $member = $cgi->param('member') || undef;
+my $member = $cgi->param('member') || '';
my $orderby = $cgi->param('orderby') || undef;
+my $not_attributes = $cgi->param('not_attributes') || undef;
+
+my @categories=C4::Category->all;
+my %categories_display;
+my $no_categories;
+
+foreach my $category (@categories) {
+ my $hash={
+ category_description=>$$category{description},
+ category_type=>$$category{category_type}
+ };
+ $categories_display{$$category{categorycode}} = $hash;
+}
+
my ($template, $loggedinuser, $cookie) = get_template_and_user({
- template_name => "patroncards/members-search.tmpl",
+ template_name => "patroncards/members-search.tt",
query => $cgi,
type => "intranet",
authnotrequired => 0,
flagsrequired => {borrowers => 1},
debug => 1,});
+if(scalar(@categories) < 1){ $no_categories = 1; }
+if($no_categories && C4::Context->preference("AddPatronLists")=~/code/){
+ $template->param(no_categories => 1);
+} else {
+ $template->param(
+ categories=>\@categories,
+ category => $category
+ );
+}
+
$orderby = "surname,firstname" unless $orderby;
$member =~ s/,//g; #remove any commas from search string
$member =~ s/\*/%/g;
if ($member || $category) {
- my ($count,$results) = 0,0;
-
- if(length($member) == 1)
- {
- ($count,$results) = SearchMember($member,$orderby,"simple");
- }
- else
- {
- ($count,$results) = SearchMember($member,$orderby,"advanced",$category);
- }
-
+ my $results = $category ? Search({''=>$member, categorycode=>$category}, $orderby, undef, undef, undef, undef, $not_attributes )
+ : Search($member, $orderby, undef, undef, undef, undef, $not_attributes);
+ my $count = $results ? @$results : 0;
my @resultsdata = ();
my $to = ($count>($startfrom * $resultsperpage)?$startfrom * $resultsperpage:$count);
my ($od,$issue,$fines) = GetMemberIssuesAndFines($results->[$i]{'borrowernumber'});
my %row = (
count => $i + 1,
+ %{$categories_display{$results->[$i]{categorycode}}},
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'},
$template->param( batch_id => $batch_id);
}
+$template->param( 'alphabet' => C4::Context->preference('alphabet') || join ' ', 'A' .. 'Z' );
+
output_html_with_http_headers $cgi, $cookie, $template->output;
__END__