ffzg/recall_notices.pl: added --interval and --dedup
[koha.git] / opac / opac-illrequests.pl
index 9ff413a..18453a4 100755 (executable)
@@ -24,6 +24,7 @@ use C4::Auth;
 use C4::Koha;
 use C4::Output;
 
+use Koha::Illrequest::Config;
 use Koha::Illrequests;
 use Koha::Libraries;
 use Koha::Patrons;
@@ -45,9 +46,15 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
     template_name   => "opac-illrequests.tt",
     query           => $query,
     type            => "opac",
-    authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
+    authnotrequired => 0,
 });
 
+# Are we able to actually work?
+my $reduced  = C4::Context->preference('ILLOpacbackends');
+my $backends = Koha::Illrequest::Config->new->available_backends($reduced);
+my $backends_available = ( scalar @{$backends} > 0 );
+$template->param( backends_available => $backends_available );
+
 my $op = $params->{'method'} || 'list';
 
 if ( $op eq 'list' ) {
@@ -58,7 +65,7 @@ if ( $op eq 'list' ) {
     my $req = Koha::Illrequest->new;
     $template->param(
         requests => $requests,
-        backends    => $req->available_backends
+        backends    => $backends
     );
 
 } elsif ( $op eq 'view') {
@@ -81,6 +88,7 @@ if ( $op eq 'list' ) {
         $params->{illrequest_id} .
         '&message=1'
     );
+    exit;
 } elsif ( $op eq 'cancreq') {
     my $request = Koha::Illrequests->find({
         borrowernumber => $loggedinuser,
@@ -92,7 +100,7 @@ if ( $op eq 'list' ) {
         $params->{illrequest_id} .
         '&message=1'
     );
-
+    exit;
 } elsif ( $op eq 'create' ) {
     if (!$params->{backend}) {
         my $req = Koha::Illrequest->new;
@@ -105,25 +113,33 @@ if ( $op eq 'list' ) {
         $params->{cardnumber} = Koha::Patrons->find({
             borrowernumber => $loggedinuser
         })->cardnumber;
+        $params->{opac} = 1;
         my $backend_result = $request->backend_create($params);
-        $template->param(
-            media       => [ "Book", "Article", "Journal" ],
-            branches    => Koha::Libraries->search->unblessed,
-            whole       => $backend_result,
-            request     => $request
-        );
-        if ($backend_result->{stage} eq 'commit') {
-            print $query->redirect('/cgi-bin/koha/opac-illrequests.pl?message=2');
+        if ($backend_result->{stage} eq 'copyrightclearance') {
+            $template->param(
+                stage       => $backend_result->{stage},
+                whole       => $backend_result
+            );
+        } else {
+            $template->param(
+                types       => [ "Book", "Article", "Journal" ],
+                branches    => Koha::Libraries->search->unblessed,
+                whole       => $backend_result,
+                request     => $request
+            );
+            if ($backend_result->{stage} eq 'commit') {
+                print $query->redirect('/cgi-bin/koha/opac-illrequests.pl?message=2');
+                exit;
+            }
         }
-    }
-
 
+    }
 }
 
 $template->param(
     message         => $params->{message},
     illrequestsview => 1,
-    method              => $op
+    method          => $op
 );
 
 output_html_with_http_headers $query, $cookie, $template->output;