Bugzilla – Attachment 70721 Details for
Bug 15595
Display Google cover image on staff interface search list and detail page
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug-15595: Google cover staff search and detail
Bug-15595-Google-cover-staff-search-and-detail.patch (text/plain), 23.52 KB, created by
jwayway
on 2018-01-18 21:24:02 UTC
(
hide
)
Description:
Bug-15595: Google cover staff search and detail
Filename:
MIME Type:
Creator:
jwayway
Created:
2018-01-18 21:24:02 UTC
Size:
23.52 KB
patch
obsolete
>From b7c81e5de19a28c8d71a8061cfd1a8d9cab35e2e Mon Sep 17 00:00:00 2001 >From: Jenny Way <jwayway@hotmail.com> >Date: Thu, 18 Jan 2018 21:04:23 +0000 >Subject: [PATCH] Bug-15595: Google cover staff search and detail > >Test plan: >1. Apply patch >2. In system preferences enable GoogleJacketsIntra >3. Cover images from Google should show in results page and detail page >4. If the record doesn't have a cover, it should display "No cover image >available" >4. Disabling the GoogleJacketIntra will cause the cover images not to >show >5. Without patch there is no GoogleJacketsIntra syspref >--- > .../bug_15595_GoogleJacketsIntra_syspref.sql | 1 + > installer/data/mysql/sysprefs.sql | 1 + > .../admin/preferences/enhanced_content.pref | 9 +++ > .../prog/en/modules/catalogue/.detail.tt.swo | Bin 0 -> 16384 bytes > .../prog/en/modules/catalogue/.results.tt.swp | Bin 0 -> 16384 bytes > .../prog/en/modules/catalogue/detail.tt | 13 +++- > .../prog/en/modules/catalogue/results.tt | 13 +++- > koha-tmpl/intranet-tmpl/prog/js/google-jackets.js | 76 +++++++++++++++++++++ > .../bootstrap/en/modules/.opac-detail.tt.swp | Bin 0 -> 16384 bytes > 9 files changed, 110 insertions(+), 3 deletions(-) > create mode 100644 installer/data/mysql/atomicupdate/bug_15595_GoogleJacketsIntra_syspref.sql > create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/.detail.tt.swo > create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/.results.tt.swp > create mode 100644 koha-tmpl/intranet-tmpl/prog/js/google-jackets.js > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/modules/.opac-detail.tt.swp > >diff --git a/installer/data/mysql/atomicupdate/bug_15595_GoogleJacketsIntra_syspref.sql b/installer/data/mysql/atomicupdate/bug_15595_GoogleJacketsIntra_syspref.sql >new file mode 100644 >index 0000000..f65bd9c >--- /dev/null >+++ b/installer/data/mysql/atomicupdate/bug_15595_GoogleJacketsIntra_syspref.sql >@@ -0,0 +1 @@ >+INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`,`type`) VALUES ('GoogleJacketsIntra', '0', NULL, 'Add cover images from Google Books to search results and item detail pages in the staff client.','YesNo'); >diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql >index 23cefb8..f407474 100644 >--- a/installer/data/mysql/sysprefs.sql >+++ b/installer/data/mysql/sysprefs.sql >@@ -175,6 +175,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` > ('gist','0','','Default Goods and Services tax rate NOT in %, but in numeric form (0.12 for 12%), set to 0 to disable GST','Integer'), > ('GoogleIndicTransliteration','0','','GoogleIndicTransliteration on the OPAC.','YesNo'), > ('GoogleJackets','0',NULL,'if ON, displays jacket covers from Google Books API','YesNo'), >+('GoogleJacketsIntra', '0', NULL, 'Add cover images from Google Books to search results and item detail pages in the staff client.','YesNo'), > ('GoogleOpenIDConnect', '0', NULL, 'if ON, allows the use of Google OpenID Connect for login', 'YesNo'), > ('GoogleOAuth2ClientID', '', NULL, 'Client ID for the web app registered with Google', 'Free'), > ('GoogleOAuth2ClientSecret', '', NULL, 'Client Secret for the web app registered with Google', 'Free'), >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref >index f62882d..a57272d 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref >@@ -123,6 +123,15 @@ Enhanced Content: > yes: Add > no: "Don't add" > - cover images from Google Books to search results and item detail pages on the OPAC. >+ >+ Google: >+ - >+ - pref: GoogleJacketsIntra >+ choices: >+ yes: Add >+ no: "Don't add" >+ - cover images from Google Books to search results and item detail pages on the staff client. >+ > Open Library: > - > - pref: OpenLibraryCovers >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/.detail.tt.swo b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/.detail.tt.swo >new file mode 100644 >index 0000000000000000000000000000000000000000..57462c8e786c73f7e85ee344fa643e774b356e2d >GIT binary patch >literal 16384 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 > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/.results.tt.swp b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/.results.tt.swp >new file mode 100644 >index 0000000000000000000000000000000000000000..767950c1ea3560c501ce88bb3b70e05c6bb0701a >GIT binary patch >literal 16384 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 >D{bK5F > >literal 0 >HcmV?d00001 > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >index be5932b..09a9370 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >@@ -64,7 +64,7 @@ > <span class="Z3988" title="[% ocoins %]"></span> > [% END %] > >- [% IF ( AmazonCoverImages || LocalCoverImages ) %] >+ [% IF ( AmazonCoverImages || LocalCoverImages || Koha.Preference('GoogleJacketsIntra') ) %] > [% IF ( XSLTDetailsDisplay ) %] > <div class="yui-gc"> > <div id="catalogue_detail_biblio" class="yui-u first"> >@@ -125,8 +125,15 @@ > </span> > [% END %] > >- [% IF ( AmazonCoverImages || LocalCoverImages ) %] >+ [% IF ( AmazonCoverImages || LocalCoverImages || Koha.Preference('GoogleJacketsIntra') ) %] > </div><div class="yui-u" id="bookcoverimg"> >+ [% IF ( Koha.Preference('GoogleJacketsIntra') ) %] >+ [% IF ( normalized_isbn ) %] >+ <div style="display:block;" title="Click to view in Google Books" class="[% normalized_isbn %]" id="gbs-thumbnail[% loop.count %]"></div> >+ [% ELSE %] >+ <a href="http://books.google.com/books?q=[% SEARCH_RESULT.title |url %]"><span class="no-image">No cover image available</span></a> >+ [% END %] >+ [% END %] > [% IF ( LocalCoverImages ) %] > <div title="[% biblionumber |url %]" class="[% biblionumber %]" id="local-thumbnail-preview"></div> > [% END %] >@@ -849,6 +856,7 @@ > [% MACRO jsinclude BLOCK %] > [% INCLUDE 'catalog-strings.inc' %] > <script type="text/javascript" src="[% interface %]/[% theme %]/js/catalog.js"></script> >+ <script type="text/javascript" src="[% interface %]/[% theme %]/js/google-jackets.js"></script> > [% INCLUDE 'greybox.inc' %] > <script type="text/javascript"> > // http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html >@@ -1034,6 +1042,7 @@ > [% IF ( AmazonCoverImages || LocalCoverImages ) %]$(window).load(function() { > verify_images(); > });[% END %] >+ [% IF ( Koha.Preference('GoogleJacketsIntra') ) %]KOHA.Google.GetCoverFromIsbn();[% END %] > </script> > [% IF ( Koha.Preference('NovelistSelectStaffEnabled') && Koha.Preference('NovelistSelectProfile') && ( normalized_isbn || normalized_upc ) ) %] > <script type="text/javascript" src="https://imageserver.ebscohost.com/novelistselect/ns2init.js"></script> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt >index 87ed564..0ea1e4b 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/results.tt >@@ -356,7 +356,7 @@ > [% SET MaxSearchResultsItemsPerRecordStatusCheck = Koha.Preference('MaxSearchResultsItemsPerRecordStatusCheck') %] > [% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %] > <tr> >- [% IF ( AmazonCoverImages || LocalCoverImages ) %] >+ [% IF AmazonCoverImages || LocalCoverImages || Koha.Preference('GoogleJacketsIntra') %] > <td> > [% IF ( LocalCoverImages) %] > <a class="p1" href="/cgi-bin/koha/catalogue/[% DetailPage %]?biblionumber=[% SEARCH_RESULT.biblionumber |url %]"> >@@ -373,6 +373,14 @@ > [% END %] > </a> > [% END %] >+ [% IF ( Koha.Preference('GoogleJacketsIntra') ) %] >+ [% IF ( SEARCH_RESULT.normalized_isbn ) %] >+ <div style="display:block;" title="Click to view in Google Books" class="[% SEARCH_RESULT.normalized_isbn %]" id="gbs-thumbnail[% loop.count %]"></div> >+ [% ELSE %] >+ <a href="http://books.google.com/books?q=[% SEARCH_RESULT.title |url %]"><span class="no-image">No cover image available</span></a> >+ [% END %] >+ [% END %] >+ > </td> > [% END %] > <td> >@@ -624,6 +632,7 @@ > <![endif]--> > <script type="text/javascript" src="[% interface %]/js/browser.js"></script> > <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.fixFloat.js"></script> >+ <script type="text/javascript" src="[% interface %]/[% theme %]/js/google-jackets.js"></script> > <script type="text/javascript"> > var MSG_NO_ITEM_SELECTED = _("Nothing is selected."); > var MSG_NON_RESERVES_SELECTED = _("One or more selected items cannot be placed on hold."); >@@ -746,6 +755,8 @@ > KOHA.LocalCover.LoadResultsCovers(); > [% END %] > >+ [% IF ( Koha.Preference('GoogleJacketsIntra') ) %]KOHA.Google.GetCoverFromIsbn();[% END %] >+ > $("#select_all").on("click",function(e){ > e.preventDefault(); > selectAll(); >diff --git a/koha-tmpl/intranet-tmpl/prog/js/google-jackets.js b/koha-tmpl/intranet-tmpl/prog/js/google-jackets.js >new file mode 100644 >index 0000000..3ba42ee >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/js/google-jackets.js >@@ -0,0 +1,76 @@ >+if (typeof KOHA == "undefined" || !KOHA) { >+ var KOHA = {}; >+} >+ >+/** >+ * A namespace for Google related functions. >+ */ >+KOHA.Google = { >+ >+ >+ /** >+ * Search all: >+ * <div title="biblionumber" id="isbn" class="gbs-thumbnail"></div> >+ * or >+ * <div title="biblionumber" id="isbn" class="gbs-thumbnail-preview"></div> >+ * and run a search with all collected isbns to Google Book Search. >+ * The result is asynchronously returned by Google and catched by >+ * gbsCallBack(). >+ */ >+ GetCoverFromIsbn: function(newWindow) { >+ var bibkeys = []; >+ $("[id^=gbs-thumbnail]").each(function(i) { >+ bibkeys.push($(this).attr("class")); // id=isbn >+ }); >+ bibkeys = bibkeys.join(','); >+ var scriptElement = document.createElement("script"); >+ this.openInNewWindow=newWindow; >+ scriptElement.setAttribute("id", "jsonScript"); >+ scriptElement.setAttribute("src", >+ "https://books.google.com/books?bibkeys=" + escape(bibkeys) + >+ "&jscmd=viewapi&callback=KOHA.Google.gbsCallBack"); >+ scriptElement.setAttribute("type", "text/javascript"); >+ document.documentElement.firstChild.appendChild(scriptElement); >+ >+ }, >+ >+ /** >+ * Add cover pages <div >+ * and link to preview if div id is gbs-thumbnail-preview >+ */ >+ gbsCallBack: function(booksInfo) { >+ var target = ''; >+ if (this.openInNewWindow) { >+ target = 'target="_blank" rel="noreferrer" '; >+ } >+ for (id in booksInfo) { >+ var book = booksInfo[id]; >+ $("[id^=gbs-thumbnail]."+book.bib_key).each(function() { >+ var a = document.createElement("a"); >+ a.href = book.info_url; >+ if (typeof(book.thumbnail_url) != "undefined") { >+ var img = document.createElement("img"); >+ img.src = book.thumbnail_url; >+ $(this).empty().append(img); >+ var re = /^gbs-thumbnail-preview/; >+ if ( re.exec($(this).attr("id")) ) { >+ $(this).append( >+ '<div class="google-books-preview">' + >+ '<a '+target+'href="' + >+ book.info_url + >+ '"><img src="' + >+ 'https://books.google.com/intl/en/googlebooks/images/gbs_preview_sticker1.gif' + >+ '"></a></div>' >+ ); >+ } >+ } else { >+ var message = document.createElement("span"); >+ $(message).attr("class","no-image"); >+ $(message).html("No cover image available"); >+ $(this).empty().append(message); >+ } >+ }); >+ } >+ >+ } >+}; >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/.opac-detail.tt.swp b/koha-tmpl/opac-tmpl/bootstrap/en/modules/.opac-detail.tt.swp >new file mode 100644 >index 0000000000000000000000000000000000000000..d63d3bdf131e3dfaa4e1cb35b48f9a2e087a9cbb >GIT binary patch >literal 16384 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 >SO(1>Vm0>KUFj%K@{l5W=75Wqa > >literal 0 >HcmV?d00001 > >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 15595
:
70719
| 70721