Fix z39.50 import isbn and issn searches on local catalog.
authorJason Stephenson <jstephenson@mvlc.org>
Fri, 16 Sep 2011 12:52:44 +0000 (08:52 -0400)
committerDan Scott <dscott@laurentian.ca>
Wed, 12 Oct 2011 14:55:11 +0000 (10:55 -0400)
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 <jstephenson@mvlc.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>

Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm

index 3423932..780963b 100644 (file)
@@ -946,10 +946,10 @@ sub cat_search_z_style_wrapper {
        $$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 };
        }