- [% IF logged_in_user.article_requests_current.count %]
+ [% IF current_article_requests_count %]
Article requests
@@ -788,7 +788,7 @@
- [% FOREACH ar IN logged_in_user.article_requests_current %]
+ [% FOREACH ar IN current_article_requests %]
[% INCLUDE 'biblio-title.inc' biblio=ar.biblio %]
@@ -866,7 +866,7 @@
Article requests
| You have no article requests currently. |
|
- [% END # IF article_requests_current.count %]
+ [% END # IF current_article_requests_count %]
[% END %]
@@ -904,7 +904,7 @@
}
}
$(document).ready(function(){
- $('#opac-user-article-requests caption .count').html(AR_CAPTION_COUNT.format('[% logged_in_user.article_requests_current.count | html %]'));
+ $('#opac-user-article-requests caption .count').html(AR_CAPTION_COUNT.format('[% current_article_requests_count | html %]'));
$('#opac-user-views').tabs();
$(".modal-nojs").addClass("modal").addClass("hide").removeClass("modal-nojs");
$(".suspend-until").prop("readonly",1);
diff --git a/opac/opac-user.pl b/opac/opac-user.pl
index 8deb054e72..0515b162a3 100755
--- a/opac/opac-user.pl
+++ b/opac/opac-user.pl
@@ -386,6 +386,13 @@ if ( C4::Context->preference('AllowPatronToSetFinesVisibilityForGuarantor')
$template->param( relatives_with_fines => \@relatives_with_fines );
}
+if ( C4::Context->preference("ArticleRequests") ) {
+ my @current_article_requests = $patron->article_requests->filter_by_current->as_list;
+ $template->param(
+ current_article_requests => \@current_article_requests,
+ current_article_requests_count => scalar @current_article_requests,
+ );
+}
$template->param(
patron_messages => $patron_messages,
diff --git a/t/db_dependent/ArticleRequests.t b/t/db_dependent/ArticleRequests.t
index 2313e1bc63..acc5704121 100755
--- a/t/db_dependent/ArticleRequests.t
+++ b/t/db_dependent/ArticleRequests.t
@@ -19,7 +19,7 @@ use Modern::Perl;
use POSIX qw(strftime);
-use Test::More tests => 54;
+use Test::More tests => 45;
use Test::MockModule;
use t::lib::TestBuilder;
@@ -110,30 +110,7 @@ is( $article_request->biblio->id, $biblio->id, '$ar->biblio() gets correspondi
is( $article_request->item->id, $item->id, '$ar->item() gets corresponding Koha::Item object' );
is( $article_request->borrower->id, $patron->id, '$ar->borrower() gets corresponding Koha::Patron object' );
-my $ar = $patron->article_requests();
-is( ref($ar), 'Koha::ArticleRequests', '$patron->article_requests returns Koha::ArticleRequests object' );
-is( $ar->next->id, $article_request->id, 'Returned article request matches' );
-
-is( $patron->article_requests_current()->count(), 1, 'Open request returned for article_requests_current' );
-$article_request->process();
-is( $patron->article_requests_current()->count(), 1, 'Processing request returned for article_requests_current' );
-$article_request->complete();
-is( $patron->article_requests_current()->count(), 0, 'Completed request not returned for article_requests_current' );
-$article_request->cancel();
-is( $patron->article_requests_current()->count(), 0, 'Canceled request not returned for article_requests_current' );
-
-$article_request->set_pending();
-
-is( $patron->article_requests_finished()->count(), 0, 'Open request returned for article_requests_finished' );
-$article_request->process();
-is( $patron->article_requests_finished()->count(), 0, 'Processing request returned for article_requests_finished' );
-$article_request->complete();
-$article_request->cancel();
-is( $patron->article_requests_finished()->count(), 1, 'Canceled request not returned for article_requests_finished' );
-
-$article_request->set_pending();
-
-$ar = $biblio->article_requests();
+my $ar = $biblio->article_requests();
is( ref($ar), 'Koha::ArticleRequests', '$biblio->article_requests returns Koha::ArticleRequests object' );
is( $ar->next->id, $article_request->id, 'Returned article request matches' );
diff --git a/t/db_dependent/Koha/Patron.t b/t/db_dependent/Koha/Patron.t
index dc6a949436..2929349661 100755
--- a/t/db_dependent/Koha/Patron.t
+++ b/t/db_dependent/Koha/Patron.t
@@ -19,7 +19,7 @@
use Modern::Perl;
-use Test::More tests => 9;
+use Test::More tests => 10;
use Test::Exception;
use Test::Warn;
@@ -813,3 +813,36 @@ subtest 'can_request_article() tests' => sub {
$schema->storage->txn_rollback;
};
+
+subtest 'article_requests() tests' => sub {
+
+ plan tests => 3;
+
+ $schema->storage->txn_begin;
+
+ my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
+
+ my $article_requests = $patron->article_requests;
+ is( ref($article_requests), 'Koha::ArticleRequests',
+ 'In scalar context, type is correct' );
+ is( $article_requests->count, 0, 'No article requests' );
+
+ foreach my $i ( 0 .. 3 ) {
+
+ my $item = $builder->build_sample_item;
+
+ Koha::ArticleRequest->new(
+ {
+ borrowernumber => $patron->id,
+ biblionumber => $item->biblionumber,
+ itemnumber => $item->id,
+ title => "Title",
+ }
+ )->request;
+ }
+
+ $article_requests = $patron->article_requests;
+ is( $article_requests->count, 4, '4 article requests' );
+
+ $schema->storage->txn_rollback;
+};