From: Owen Leonard Date: Tue, 26 Mar 2019 13:51:47 +0000 (+0000) Subject: Bug 11969: Show patrons star rating on their reading history X-Git-Url: http://git.equinoxoli.org/?p=koha-equinox.git;a=commitdiff_plain;h=693bbc76e736f048c4c16e7a5664f3494db287c0 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 Star ratings are displayed in Reading History with OpacStarRatings enabled, and are not displayed when OpacStarRatings is disabled, as expected. Signed-off-by: Katrin Fischer Signed-off-by: Nick Clemens --- 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 %] - + [% ELSE %] No cover image available [% END %] @@ -143,7 +143,27 @@ [% ELSE %] [% issue.title | html %] [% IF issue.subtitle %][% FOREACH subtitl IN issue.subtitle %][% subtitl.subfield | html %][% END %][% END %] [% END %] - [% issue.author | html %] +

[% issue.author | html %]

+ + [% IF ( Koha.Preference( 'OpacStarRatings' ) == 'all' && issue.my_rating ) %] +
+
+
+ [% FOREACH i IN [ 1 2 3 4 5 ] %] + [% IF issue.my_rating.rating_value == i %] + + [% ELSIF issue.my_rating.rating_value > i %] + + [% ELSE %] + + [% END %] + [% END %] +
+
+ Rated on [% issue.my_rating.timestamp | $KohaDates %] +
+ [% END # / IF OpacStarRatings %] + [% UNLESS ( noItemTypeImages ) %] @@ -188,7 +208,6 @@ [% BLOCK jsinclude %] [% INCLUDE 'datatables.inc' %] [% 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 ) %] [% 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);