backporting ISxN search fix for deleted records
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 8 Jan 2007 20:24:14 +0000 (20:24 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 8 Jan 2007 20:24:14 +0000 (20:24 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@6744 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/metabib.pm

index ee0c390..4b0b1af 100644 (file)
@@ -218,18 +218,21 @@ sub isxn_search {
        $isxn =~ s/\s*$//o;
        $isxn =~ s/-//o if ($self->api_name =~ /isbn/o);
 
-       my $tag = ($self->api_name =~ /isbn/o) ? "'020' OR tag = '024'" : "'022'";
+       my $tag = ($self->api_name =~ /isbn/o) ? "'020' OR f.tag = '024'" : "'022'";
 
        my $fr_table = metabib::full_rec->table;
+       my $bib_table = biblio::record_entry->table;
 
        my $sql = <<"   SQL";
-               SELECT  DISTINCT record
-                 FROM  $fr_table
-                 WHERE (tag = $tag)
-                       AND value LIKE ?
+               SELECT  DISTINCT f.record
+                 FROM  $fr_table f
+                       JOIN $bib_table b ON (b.id = f.record)
+                 WHERE (f.tag = $tag)
+                       AND f.value LIKE ?
+                       AND b.deleted IS FALSE
        SQL
 
-       my $list = metabib::metarecord_source_map->db_Main->selectcol_arrayref($sql, {}, "$isxn%");
+       my $list = metabib::full_rec->db_Main->selectcol_arrayref($sql, {}, "$isxn%");
        $client->respond($_) for (@$list);
        return undef;
 }