X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=patroncards%2Fmembers-search.pl;h=6c27095377d59ffb2536503cd7be6e10d9e02bb0;hb=0d4acbba5c5db238eb42ed37dc9ba3dc2f36974b;hp=576ed308008bf9ed34ce3148c420a0e149ba7762;hpb=d339abf0bfc334a819818bbb9b4c31f23326cbd1;p=koha.git diff --git a/patroncards/members-search.pl b/patroncards/members-search.pl index 576ed30800..6c27095377 100755 --- a/patroncards/members-search.pl +++ b/patroncards/members-search.pl @@ -13,9 +13,9 @@ # 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., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# 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. use strict; use warnings; @@ -33,9 +33,20 @@ my $batch_id = $cgi->param('batch_id') || 0; 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 @categories=C4::Category->all; +my %categories_display; + +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", query => $cgi, @@ -49,17 +60,9 @@ $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) + : Search($member, $orderby); + my $count = $results ? @$results : 0; my @resultsdata = (); my $to = ($count>($startfrom * $resultsperpage)?$startfrom * $resultsperpage:$count); @@ -68,13 +71,12 @@ if ($member || $category) { 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'}, @@ -92,7 +94,7 @@ if ($member || $category) { ); push(@resultsdata, \%row); } - my $base_url = __FILE__ . '?' . join('&', map { $_->{term} . ' = ' . $_->{val} } ( + my $base_url = '?' . join('&', map { $_->{term} . '=' . $_->{val} } ( { term => 'member', val => $member }, { term => 'category', val => $category }, { term => 'orderby', val => $orderby },