can now pass raw marcxml to the marc2html method and it will generate the html
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 23 Sep 2008 21:47:36 +0000 (21:47 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 23 Sep 2008 21:47:36 +0000 (21:47 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@10691 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index a0f4491..07de45c 100644 (file)
@@ -1216,7 +1216,7 @@ my $slim_marc_sheet;
 my $settings_client = OpenSRF::Utils::SettingsClient->new();
 
 sub biblio_record_to_marc_html {
-       my($self, $client, $recordid, $slim) = @_;
+       my($self, $client, $recordid, $slim, $marcxml) = @_;
 
     my $sheet;
        my $dir = $settings_client->config_value("dirs", "xsl");
@@ -1245,16 +1245,19 @@ sub biblio_record_to_marc_html {
     }
 
     my $record;
-    my $e = new_editor();
-    if($self->api_name =~ /authority/) {
-        $record = $e->retrieve_authority_record_entry($recordid)
-            or return $e->event;
-    } else {
-        $record = $e->retrieve_biblio_record_entry($recordid)
-            or return $e->event;
+    unless($marcxml) {
+        my $e = new_editor();
+        if($self->api_name =~ /authority/) {
+            $record = $e->retrieve_authority_record_entry($recordid)
+                or return $e->event;
+        } else {
+            $record = $e->retrieve_biblio_record_entry($recordid)
+                or return $e->event;
+        }
+        $marcxml = $record->marc;
     }
 
-       my $xmldoc = $parser->parse_string($record->marc);
+       my $xmldoc = $parser->parse_string($marcxml);
        my $html = $sheet->transform($xmldoc);
        return $html->documentElement->toString();
 }