From: Jason Stephenson Date: Fri, 16 Sep 2011 12:52:44 +0000 (-0400) Subject: Fix z39.50 import isbn and issn searches on local catalog. X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c0801f6c936b0c3f340afb23c7f530d27903d6f0;p=working%2FEvergreen.git Fix z39.50 import isbn and issn searches on local catalog. Make cat_search_z_style_wrapper do identifier searches for isbn and issn. Modify the_quest_for_knowledge to accept identifier searches for isbn and issn. Signed-off-by: Jason Stephenson --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm index 2bc7062eeb..143eea4d9d 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm @@ -942,14 +942,14 @@ sub cat_search_z_style_wrapper { my $result = { service => 'native-evergreen-catalog', records => [] }; my $searchhash = { limit => $$args{limit}, offset => $$args{offset}, org_unit => $ou->id }; - $$searchhash{searches}{title}{term} = $$args{search}{title} if $$args{search}{title}; - $$searchhash{searches}{author}{term} = $$args{search}{author} if $$args{search}{author}; - $$searchhash{searches}{subject}{term} = $$args{search}{subject} if $$args{search}{subject}; - $$searchhash{searches}{keyword}{term} = $$args{search}{keyword} if $$args{search}{keyword}; + $$searchhash{searches}{title}{term} = $$args{search}{title} if $$args{search}{title}; + $$searchhash{searches}{author}{term} = $$args{search}{author} if $$args{search}{author}; + $$searchhash{searches}{subject}{term} = $$args{search}{subject} if $$args{search}{subject}; + $$searchhash{searches}{keyword}{term} = $$args{search}{keyword} if $$args{search}{keyword}; + $$searchhash{searches}{'identifier|isbn'}{term} = $$args{search}{isbn} if $$args{search}{isbn}; + $$searchhash{searches}{'identifier|issn'}{term} = $$args{search}{issn} if $$args{search}{issn}; $$searchhash{searches}{keyword}{term} .= join ' ', $$searchhash{searches}{keyword}{term}, $$args{search}{tcn} if $$args{search}{tcn}; - $$searchhash{searches}{keyword}{term} .= join ' ', $$searchhash{searches}{keyword}{term}, $$args{search}{isbn} if $$args{search}{isbn}; - $$searchhash{searches}{keyword}{term} .= join ' ', $$searchhash{searches}{keyword}{term}, $$args{search}{issn} if $$args{search}{issn}; $$searchhash{searches}{keyword}{term} .= join ' ', $$searchhash{searches}{keyword}{term}, $$args{search}{publisher} if $$args{search}{publisher}; $$searchhash{searches}{keyword}{term} .= join ' ', $$searchhash{searches}{keyword}{term}, $$args{search}{pubdate} if $$args{search}{pubdate}; $$searchhash{searches}{keyword}{term} .= join ' ', $$searchhash{searches}{keyword}{term}, $$args{search}{item_type} if $$args{search}{item_type}; @@ -1078,7 +1078,7 @@ sub the_quest_for_knowledge { # do some simple sanity checking if(!$searchhash->{searches} or - ( !grep { /^(?:title|author|subject|series|keyword)/ } keys %{$searchhash->{searches}} ) ) { + ( !grep { /^(?:title|author|subject|series|keyword|identifier\|is[bs]n)/ } keys %{$searchhash->{searches}} ) ) { return { count => 0 }; }