6584: Enable searching on Zebra's Bib-level index
[koha_gimpoz] / C4 / AuthoritiesMarc.pm
index 4bbde76..0164c8d 100644 (file)
@@ -364,7 +364,12 @@ sub CountUsage {
         my $query;
         $query= "an=".$authid;
                my ($err,$res,$result) = C4::Search::SimpleSearch($query,0,10);
-        return ($result);
+        if ($err) {
+            warn "Error: $err from search $query";
+            $result = 0;
+        }
+
+        return $result;
     }
 }
 
@@ -917,7 +922,7 @@ sub FindDuplicateAuthority {
     }
     my ($error, $results, $total_hits) = C4::Search::SimpleSearch( $query, 0, 1, [ "authorityserver" ] );
     # there is at least 1 result => return the 1st one
-    if (@$results>0) {
+    if (!defined $error && @{$results} ) {
       my $marcrecord = MARC::File::USMARC::decode($results->[0]);
       return $marcrecord->field('001')->data,BuildSummary($marcrecord,$marcrecord->field('001')->data,$authtypecode);
     }
@@ -1070,8 +1075,8 @@ sub BuildSummary{
               } elsif ($record->field('148')) {
                                       $heading.= $field->as_string('abvxyz68');
               } elsif ($record->field('150')) {
-          #    $heading.= $field->as_string('abvxyz68');
-          $heading.= $field->as_formatted();
+                  $heading.= $field->as_string('abvxyz68');
+              #$heading.= $field->as_formatted();
               my $tag=$field->tag();
               $heading=~s /^$tag//g;
               $heading =~s /\_/\$/g;
@@ -1302,6 +1307,7 @@ sub merge {
     } else {
         #zebra connection  
         my $oConnection=C4::Context->Zconn("biblioserver",0);
+        my $oldSyntax = $oConnection->option("preferredRecordSyntax");
         $oConnection->option("preferredRecordSyntax"=>"XML");
         my $query;
         $query= "an=".$mergefrom;
@@ -1318,7 +1324,8 @@ sub merge {
             push @reccache, $marcdata;
             $z++;
         }
-        $oConnection->destroy();    
+        $oResult->destroy();
+        $oConnection->option("preferredRecordSyntax"=>$oldSyntax);
     }
     #warn scalar(@reccache)." biblios to update";
     # Get All candidate Tags for the change