From aebb020d5cb5621e10b2d7f9d3faa2062db923a8 Mon Sep 17 00:00:00 2001
From: Owen Leonard <oleonard@myacpl.org>
Date: Tue, 26 Mar 2019 13:51:47 +0000
Subject: [PATCH] Bug 11969: Show patrons star rating on their reading history
This patch adds display of a user's ratings to their reading history in
the OPAC.
Also changed: Removed obsolete "border" attribute from the template, and
removed obsolete JavaScript include from opac-results.tt
To test, apply the patch and rebuild the OPAC CSS. OpacStarRatings
should be set to all (results and details).
- Log in to the OPAC as a user with a reading history and titles in
that history which have ratings.
- Under the "your reading history" tab, your ratings should show under
rated titles with the date of the rating.
- Test also with OpacStarRatings set to a value other than "all."
Signed-off-by: Hayley Mapley <hayleymapley@catalyst.net.nz>
Star ratings are displayed in Reading History with OpacStarRatings
enabled, and are not displayed when OpacStarRatings is disabled, as
expected.
---
.../bootstrap/en/modules/opac-readingrecord.tt | 26 ++++++++++++++++++----
.../opac-tmpl/bootstrap/en/modules/opac-results.tt | 1 -
opac/opac-readingrecord.pl | 9 +++++++-
3 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-readingrecord.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-readingrecord.tt
index d03d5185..5a880b2 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-readingrecord.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-readingrecord.tt
@@ -108,7 +108,7 @@
[% END %]
[% IF OPACAmazonCoverImages %]
[% IF issue.normalized_isbn %]
- <a href="http://www.amazon.com/gp/reader/[% issue.normalized_isbn | uri %][% AmazonAssocTag | uri %]#reader-link"><img border="0" src="https://images-na.ssl-images-amazon.com/images/P/[% issue.normalized_isbn | html %].01.THUMBZZZ.jpg" alt="" class="item-thumbnail" /></a>
+ <a href="http://www.amazon.com/gp/reader/[% issue.normalized_isbn | uri %][% AmazonAssocTag | uri %]#reader-link"><img src="https://images-na.ssl-images-amazon.com/images/P/[% issue.normalized_isbn | html %].01.THUMBZZZ.jpg" alt="" class="item-thumbnail" /></a>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
@@ -143,7 +143,27 @@
[% ELSE %]
<a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% issue.biblionumber |url %]">[% issue.title | html %] [% IF issue.subtitle %][% FOREACH subtitl IN issue.subtitle %][% subtitl.subfield | html %][% END %][% END %]</a>
[% END %]
- <span class="item-details">[% issue.author | html %]</span>
+ <p class="results-summary item-details">[% issue.author | html %]</p>
+
+ [% IF ( Koha.Preference( 'OpacStarRatings' ) == 'all' && issue.my_rating ) %]
+ <div class="results_summary ratings">
+ <div class="br-wrapper br-theme-fontawesome-stars">
+ <div class="br-widget br-readonly">
+ [% FOREACH i IN [ 1 2 3 4 5 ] %]
+ [% IF issue.my_rating.rating_value == i %]
+ <a href="#" class="br-selected br-current"></a>
+ [% ELSIF issue.my_rating.rating_value > i %]
+ <a href="#" class="br-selected"></a>
+ [% ELSE %]
+ <a href="#"></a>
+ [% END %]
+ [% END %]
+ </div>
+ </div>
+ Rated on [% issue.my_rating.timestamp | $KohaDates %]
+ </div> <!-- / .results_summary -->
+ [% END # / IF OpacStarRatings %]
+
</td>
<td>
[% UNLESS ( noItemTypeImages ) %]
@@ -188,7 +208,6 @@
[% BLOCK jsinclude %]
[% INCLUDE 'datatables.inc' %]
<script>
-//<![CDATA[
$(document).ready(function(){
[% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
$('#sortsubmit').hide();
@@ -217,6 +236,5 @@
}
});
});
-//]]>
</script>
[% END %]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt
index 2e233f1..6f53cab 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt
@@ -618,7 +618,6 @@
[% IF ( LibraryThingForLibrariesID ) %]
<script src="https://ltfl.librarything.com/forlibraries/widget.js?id=[% LibraryThingForLibrariesID | html %]&systype=koha"></script>
[% END %]
-[% IF ( OpacStarRatings == 'all' || Koha.Preference('Babeltheque') ) %][% Asset.js("lib/jquery/plugins/jquery.rating.js") | $raw %][% END %]
[% IF ( OverDriveEnabled ) %][% Asset.js("js/overdrive.js") | $raw %][% END %]
[% IF ( RecordedBooksEnabled ) %][% Asset.js("js/recordedbooks.js") | $raw %][% END %]
[% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
diff --git a/opac/opac-readingrecord.pl b/opac/opac-readingrecord.pl
index 49348ad..c01409a 100755
--- a/opac/opac-readingrecord.pl
+++ b/opac/opac-readingrecord.pl
@@ -33,6 +33,7 @@ use C4::Charset qw(StripNonXmlChars);
use Koha::Patrons;
use Koha::ItemTypes;
+use Koha::Ratings;
my $query = new CGI;
@@ -121,6 +122,12 @@ foreach my $issue ( @{$issues} ) {
: $my_summary_html =~ s/{BIBLIONUMBER}//g;
$issue->{MySummaryHTML} = $my_summary_html;
}
+ # Star ratings
+ if ( C4::Context->preference('OpacStarRatings') eq 'all' ) {
+ my $ratings = Koha::Ratings->search({ biblionumber => $issue->{biblionumber} });
+ $issue->{ratings} = $ratings;
+ $issue->{my_rating} = $borrowernumber ? $ratings->search({ borrowernumber => $borrowernumber })->next : undef;
+ }
}
if (C4::Context->preference('BakerTaylorEnabled')) {
@@ -140,7 +147,7 @@ BEGIN {
}
}
-for(qw(AmazonCoverImages GoogleJackets)) { # BakerTaylorEnabled handled above
+for(qw(AmazonCoverImages GoogleJackets)) { # BakerTaylorEnabled handled above
C4::Context->preference($_) or next;
$template->param($_=>1);
$template->param(JacketImages=>1);
--
2.1.4