From d98637d8dcae03c4084bdb9ff92ca80861ed1caa Mon Sep 17 00:00:00 2001 From: miker Date: Mon, 5 Feb 2007 21:04:31 +0000 Subject: [PATCH] forward porting minor bug fix for patron dedup git-svn-id: svn://svn.open-ils.org/ILS/trunk@6894 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../src/perlmods/OpenILS/Application/Storage/Publisher/actor.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/actor.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/actor.pm index 2aaf8ae70d..36d60c5b0e 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/actor.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/actor.pm @@ -434,7 +434,9 @@ sub patron_search { my $limit = shift || 1000; my $sort = shift; my $inactive = shift; + $sort = ['family_name','first_given_name'] unless ($$sort[0]); + push @$sort,'id'; # group 0 = user # group 1 = address @@ -511,7 +513,7 @@ sub patron_search { } my $order_by = join ', ', map { 'LOWER(users.'. (split / /,$_)[0] . ') ' . (split / /,$_)[1] } @$sort; - my $distinct_list = join ', ', map { 'users.'. (split / /, $_)[0] } @$sort; + my $distinct_list = join ', ', map { 'LOWER(users.'. (split / /,$_)[0] . ')' } @$sort; if ($inactive) { $inactive = ''; @@ -520,7 +522,7 @@ sub patron_search { } $select = <<" SQL"; - SELECT DISTINCT $distinct_list, users.id + SELECT DISTINCT $distinct_list FROM $u_table AS users JOIN ($select) AS search USING (id) @@ -530,7 +532,7 @@ sub patron_search { LIMIT $limit SQL - return actor::user->db_Main->selectcol_arrayref($select, {Columns=>[scalar(@$sort) + 1]}, map {lc($_)} (@usrv,@phonev,@identv,@namev,@addrv,@addrv)); + return actor::user->db_Main->selectcol_arrayref($select, {Columns=>[scalar(@$sort)]}, map {lc($_)} (@usrv,@phonev,@identv,@namev,@addrv,@addrv)); } __PACKAGE__->register_method( api_name => 'open-ils.storage.actor.user.crazy_search', -- 2.11.0