Bug 15823: Can still access patron discharge slip without having the syspref on
[koha.git] / opac / opac-sendshelf.pl
index 91ab4ad..a0682bc 100755 (executable)
@@ -37,6 +37,12 @@ use Koha::Virtualshelves;
 
 my $query = new CGI;
 
+# if virtualshelves is disabled, leave immediately
+if ( ! C4::Context->preference('virtualshelves') ) {
+    print $query->redirect("/cgi-bin/koha/errors/404.pl");
+    exit;
+}
+
 my ( $template, $borrowernumber, $cookie ) = get_template_and_user (
     {
         template_name   => "opac-sendshelfform.tt",
@@ -52,7 +58,7 @@ my $email   = $query->param('email');
 my $dbh          = C4::Context->dbh;
 
 my $shelf = Koha::Virtualshelves->find( $shelfid );
-if ( $shelf->can_be_viewed( $borrowernumber ) ) {
+if ( $shelf and $shelf->can_be_viewed( $borrowernumber ) ) {
 
 if ( $email ) {
     my $message = Koha::Email->new();
@@ -84,7 +90,6 @@ if ( $email ) {
         my $fw               = GetFrameworkCode($biblionumber);
         my $dat              = GetBiblioData($biblionumber);
         my $record           = GetMarcBiblio($biblionumber, 1);
-        my $marcnotesarray   = GetMarcNotes( $record, $marcflavour );
         my $marcauthorsarray = GetMarcAuthors( $record, $marcflavour );
         my $marcsubjctsarray = GetMarcSubjects( $record, $marcflavour );
         my $subtitle         = GetRecordValue('subtitle', $record, $fw);
@@ -92,7 +97,6 @@ if ( $email ) {
         my @items = GetItemsInfo( $biblionumber );
 
         $dat->{ISBN}           = GetMarcISBN($record, $marcflavour);
-        $dat->{MARCNOTES}      = $marcnotesarray;
         $dat->{MARCSUBJCTS}    = $marcsubjctsarray;
         $dat->{MARCAUTHORS}    = $marcauthorsarray;
         $dat->{'biblionumber'} = $biblionumber;
@@ -182,7 +186,10 @@ END_OF_BODY
         $template->param( error => 1 );
     }
 
-    $template->param( email => $email );
+    $template->param(
+        shelfid => $shelfid,
+        email => $email,
+    );
     output_html_with_http_headers $query, $cookie, $template->output;