Bug 31217: OPAC coce.js is not hiding the coce-coverimg div for single-pixel images
authorAlex Buckley <alexbuckley@catalyst.net.nz>
Tue, 26 Jul 2022 04:38:29 +0000 (16:38 +1200)
committerTomas Cohen Arazi <tomascohen@theke.io>
Thu, 18 Aug 2022 11:59:48 +0000 (08:59 -0300)
This is because opac-detail.tt has coce-coverimg as an ID, but OPAC
coce.js targets coce-coverimg as a class.

opac-detail.tt should be changed to have coce-coverimg as a class.

Test plan:
1. Set your system preferences:
- CoceHost = https://coce.mykoha.co.nz
- CoceProviders = Select all
- OpacCoce = Enable

2. Add the ISBN of '9780262336499' to a biblio

3. Open a "Incognito" window in your browser (recommended to use Google
Chrome to test this)

4. View the biblio detail page in the OPAC. Observe a 'Coce image from
Amazon' box loads with a spinner

5. Apply patch and restart services

6. Clear your browser cache

7. Reload the same biblio detail page in the OPAC. Observe no image is
displayed.

8. View another OPAC biblio detail page that does have a successfully
loading coce image and confirm the source of that image is listed: For
example 'Coce image from Amazon.com' is displayed

Sponsored-by: Toi Ohomai Institute of Technology, New Zealand
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt

index 9eea246..802a642 100644 (file)
 
                             [% IF ( Koha.Preference('OPACCoce') && Koha.Preference('CoceProviders') && normalized_isbn ) %]
                                 [% coce_id = normalized_ean || normalized_isbn %]
-                                <div class="cover-image" id="coce-coverimg">
+                                <div class="cover-image coce-coverimg">
                                     [% IF ( coce_id ) %]
                                         <a title="Image from Coce" class="[% coce_id | html %]" id="coce-thumbnail-preview"></a>
                                     [% END %]
                                 lightbox_descriptions.push(_("Image from Google Books (<a href='%s'>see the original image</a>)").format($(img).data('link')));
                             } else if( div.attr("id") == "openlibrary-coverimg" ){
                                 lightbox_descriptions.push(_("Image from OpenLibrary (<a href='%s'>see the original image</a>)").format($(img).data('link')));
-                            } else if( div.attr("id") == "coce-coverimg" ){
+                            } else if( div.hasClass("coce-coverimg" ) ){
                                 // Identify which service's image is being loaded by Coce
                                 var coce_description;
                                 if( $(img).attr("src").indexOf('amazon.com') >= 0 ){