From: miker Date: Wed, 16 Aug 2006 18:18:23 +0000 (+0000) Subject: adding address searching for cloned users X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=26ce8ee7710aa6cb7105ef0f18d32fe805ed375b;p=evergreen%2Fpines.git adding address searching for cloned users git-svn-id: svn://svn.open-ils.org/ILS/trunk@5537 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- 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 82af76ea6a..aa34401777 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/actor.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/actor.pm @@ -317,11 +317,14 @@ sub patron_search { my $u_select = "SELECT id as id FROM $u_table u WHERE $usr_where"; my $a_select = "SELECT usr as id FROM $a_table a WHERE $addr_where"; + my $clone_select = "SELECT cu.id as id FROM $a_table ca ". + "JOIN $u_table cu ON (cu.mailing_address = ca.id OR cu.billing_address = ca.id) ". + "WHERE $addr_where"; my $select = ''; if ($usr_where) { if ($addr_where) { - $select = "$u_select INTERSECT $a_select"; + $select = "$u_select INTERSECT $a_select INTERSECT $clone_select"; } else { $select = $u_select; } @@ -349,7 +352,7 @@ sub patron_search { LIMIT $limit SQL - return actor::user->db_Main->selectcol_arrayref($select, {}, map {lc($_)} (@usrv,@phonev,@identv,@namev,@addrv)); + return actor::user->db_Main->selectcol_arrayref($select, {}, map {lc($_)} (@usrv,@phonev,@identv,@namev,@addrv,@addrv)); } __PACKAGE__->register_method( api_name => 'open-ils.storage.actor.user.crazy_search', diff --git a/Open-ILS/src/sql/Pg/005.schema.actors.sql b/Open-ILS/src/sql/Pg/005.schema.actors.sql index 09da90fd11..130d240a78 100644 --- a/Open-ILS/src/sql/Pg/005.schema.actors.sql +++ b/Open-ILS/src/sql/Pg/005.schema.actors.sql @@ -89,8 +89,6 @@ COMMENT ON TABLE actor.usr IS $$ */ $$; -CREATE UNIQUE INDEX actor_usr_unique_ident ON actor.usr (ident_type, ident_value); - CREATE INDEX actor_usr_home_ou_idx ON actor.usr (home_ou); CREATE INDEX actor_usr_mailing_address_idx ON actor.usr (mailing_address); CREATE INDEX actor_usr_billing_address_idx ON actor.usr (billing_address);