Bug 11329: Check for MARC record existence in opac-showmarc
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Mon, 2 Dec 2013 08:30:13 +0000 (09:30 +0100)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 17 Jan 2014 15:26:35 +0000 (15:26 +0000)
Instead of just running as_formatted, check if GetMarcBiblio returned
a reference. If you e.g. did not pass an id, return 404 instead of 500.
Consistent with opac-export.pl

Test plan:
[1] Run opac-showmarc.pl with valid biblionumber in id parameter.
[2] Remove id parameter from URL. You should get a 404 now.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>

opac/opac-showmarc.pl

index 71fb804..27ab61c 100755 (executable)
@@ -54,6 +54,10 @@ if ($importid) {
 else {
     $record =GetMarcBiblio($biblionumber);
 }
+if(!ref $record) {
+    print $input->redirect("/cgi-bin/koha/errors/404.pl");
+    exit;
+}
 
 if ($view eq 'card' || $view eq 'html') {
     my $xmlrecord= $importid? $record->as_xml(): GetXmlBiblio($biblionumber);