Bugzilla – Attachment 191179 Details for
Bug 41582
Tidy kohaTable block - opac
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 41582: Tidy kohaTable - opac-detail.tt
cd58d73.patch (text/plain), 17.90 KB, created by
Jonathan Druart
on 2026-01-09 14:54:50 UTC
(
hide
)
Description:
Bug 41582: Tidy kohaTable - opac-detail.tt
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2026-01-09 14:54:50 UTC
Size:
17.90 KB
patch
obsolete
>From cd58d737e61db3a65b08b05afcec872679545a71 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 8 Jan 2026 17:03:31 +0100 >Subject: [PATCH] Bug 41582: Tidy kohaTable - opac-detail.tt > >--- > .../bootstrap/en/modules/opac-detail.tt | 217 ++++++++++-------- > opac/opac-detail.pl | 9 - > 2 files changed, 119 insertions(+), 107 deletions(-) > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt >index 9d432eaa075..c282d87a640 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-detail.tt >@@ -1650,16 +1650,65 @@ > [% IF OpenLibraryCovers || OpenLibrarySearch %] > [% Asset.js("js/openlibrary.js") | $raw %] > [% END %] >+ <script> >+ const interface = "[% interface | html %]"; >+ addPrefs({ >+ OpacHighlightedWords: "[% Koha.Preference('OpacHighlightedWords') | html %]", >+ NotHighlightedWords: "[% Koha.Preference('NotHighlightedWords') | html %]", >+ GoogleJackets: [% Koha.Preference('GoogleJackets') ? 1 : 0 | html %], >+ OpacCoce: [% Koha.Preference('OpacCoce') ? 1 : 0 | html %], >+ CoceHost: "[% Koha.Preference('CoceHost') | html %]", >+ CoceProviders: "[% Koha.Preference('CoceProviders') | html %]", >+ OpenLibraryCovers: [% Koha.Preference('OpenLibraryCovers') ? 1 : 0 | html %], >+ OPACLocalCoverImages: [% Koha.Preference('OPACLocalCoverImages') ? 1 : 0 | html %], >+ OPACPopupAuthorsSearch: [% Koha.Preference('OPACPopupAuthorsSearch') ? 1 : 0 | html %], >+ OPACDetailQRCode: [% Koha.Preference('OPACDetailQRCode') ? 1 : 0 | html %], >+ OpacBrowseResults: [% Koha.Preference('OpacBrowseResults') ? 1 : 0 | html %], >+ TagsInputEnabled: [% Koha.Preference('TagsInputEnabled') ? 1 : 0 | html %], >+ OPACURLOpenInNewWindow: [% Koha.Preference('OPACURLOpenInNewWindow') ? 1 : 0 | html %], >+ OPACShelfBrowser: [% Koha.Preference('OPACShelfBrowser') ? 1 : 0 | html %], >+ }); >+ const busc = "[% busc | html %]"; >+ const query_desc = "[% query_desc | html %]"; >+ const loggedinusername = "[% loggedinusername | html %]"; >+ >+ var holdingst_table_settings = [% TablesSettings.GetTableSettings( 'opac', 'biblio-detail', 'holdingst', 'json' ) | $raw %]; >+ [% IF ( !item_level_itypes || Koha.Preference('BiblioItemtypeInfo') ) %] >+ // The default in the yaml file is 1 "Item type". >+ // If item-level_itypes is off the column will not appear, then select column 2 "Current library" >+ if (holdingst_table_settings.default_sort_order == 1) { >+ holdingst_table_settings.default_sort_order = 2; >+ } >+ [% END %] >+ var otherholdingst_table_settings = JSON.parse(JSON.stringify(holdingst_table_settings)); // Clone >+ >+ let column; >+ [% FOR k IN hidden_columns_force.holdingst %] >+ column = holdingst_table_settings.columns.find(c => c.columnname == '[% k | html %]'); >+ column.is_hidden = 1; >+ column.cannot_be_toggled = 1; >+ [% END %] >+ >+ [% FOR k IN hidden_columns_force.otherholdingst %] >+ column = otherholdingst_table_settings.columns.find(c => c.columnname == '[% k | html %]'); >+ column.is_hidden = 1; >+ column.cannot_be_toggled = 1; >+ [% END %] >+ >+ var serial_table_settings = [% TablesSettings.GetTableSettings( 'opac', 'biblio-detail', 'subscriptionst', 'json' ) | $raw %]; >+ >+ const defaulttab = "[% defaulttab | html %]"; >+ </script> >+ > <script> > window.emojiPicker = new EmojiPicker({ > emojiable_selector: '[data-emojiable=true]', >- assetsPath: '[% interface | html %]/lib/emoji-picker/img/', >+ assetsPath: `${interface}/lib/emoji-picker/img/`, > popupButtonClasses: 'fa-solid fa-face-smile' > }); > window.emojiPicker.discover(); > >- var OPACPopupAuthorsSearch = "[% Koha.Preference('OPACPopupAuthorsSearch') | html %]"; >- [% IF ( OpacHighlightedWords ) %] >+ if (prefs.OpacHighlightedWords){ > var q_array = new Array(); // holds search terms if available > > function highlightOff() { >@@ -1672,7 +1721,7 @@ > if ( q_array[x].length > 0 ) { > q_array[x] = q_array[x].replace(/\w*:([\w])/, "$1"); > q_array[x] = q_array[x].toLowerCase(); >- var myStopwords = "[% Koha.Preference('NotHighlightedWords') | html %]".toLowerCase().split('|'); >+ var myStopwords = prefs.NotHighlightedWords.toLowerCase().split('|'); > if( $.inArray(q_array[x], myStopwords) == -1 ) { > $("#marcnotes").highlight(q_array[x]); > $(".title").highlight(q_array[x]); >@@ -1683,7 +1732,7 @@ > } > $(".highlight_toggle").toggle(); > } >- [% END # /IF OpacHighlightedWords %] >+ } > > function verify_cover_images() { > // Loop over each container in the template which contains covers >@@ -1825,23 +1874,23 @@ > var loaded = 1; > counter_wait++; > >- [% IF GoogleJackets %] >+ if (prefs.GoogleJackets){ > if ( loaded ) { > loaded = KOHA.Google.done; > } >- [% END %] >+ } > >- [% IF OpenLibraryCovers %] >+ if (prefs.OpenLibraryCovers){ > if ( loaded ) { > loaded = KOHA.OpenLibrary.done; > } >- [% END %] >+ } > >- [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %] >+ if (prefs.OpacCoce && prefs.CoceProviders){ > if ( loaded ) { > loaded = KOHA.coce.done; > } >- [% END %] >+ } > > if (!loaded && counter_wait < 50) {// Do not wait more than 5 seconds > window.setTimeout(function(){wait_for_images(cb);}, 100); >@@ -1859,7 +1908,7 @@ > > $(document).ready(function() { > >- [% IF ( Koha.Preference('OPACDetailQRCode') ) %] >+ if (prefs.OPACDetailQRCode){ > > var link_canonical = document.querySelector("link[rel=canonical]"); > >@@ -1883,24 +1932,21 @@ > qrcodeImg.addClass("d-none"); > } > }); >- [% END # /IF OPACDetailQRCode %] >- >- [% SWITCH defaulttab -%] >- [% CASE 'holdings' -%] >- showBsTab("bibliodescriptions", "holdings"); >- [% CASE 'components' -%] >- showBsTab("bibliodescriptions", "components"); >- [% CASE 'descriptions' -%] >- showBsTab("bibliodescriptions", "descriptions"); >- [% CASE 'subscriptions' -%] >- showBsTab("bibliodescriptions", "subscriptions"); >- [% CASE 'serialcollection' -%] >- showBsTab("bibliodescriptions", "serialcollection"); >- [% CASE 'media' -%] >- showBsTab("bibliodescriptions", "html5media"); >- [% CASE -%] >- showBsTab("bibliodescriptions", "holdings"); >- [% END -%] >+ } >+ >+ switch (defaulttab){ >+ case 'holdings': >+ case 'descriptions': >+ case 'subscriptions': >+ case 'serialcollection': >+ showBsTab("bibliodescriptions", defaulttab); >+ break >+ case 'media' >+ showBsTab("bibliodescriptions", "html5media"); >+ break >+ case: >+ showBsTab("bibliodescriptions", "holdings"); >+ } > > let urlParams = new URLSearchParams(window.location.search); > if ( urlParams.has('tab') ) { >@@ -1910,7 +1956,7 @@ > } > } > >- [% IF ( Koha.Preference('OpacBrowseResults') && busc ) %] >+ if (prefs.OpacBrowseResults && busc){ > $(".l_Results").show(); > $("#a_listResults").on("click", function(e){ > e.preventDefault(); >@@ -1921,30 +1967,7 @@ > e.preventDefault(); > $(".results-pagination, .close_pagination, .pg_menu").toggle(); > }); >- [% END # /IF OpacBrowseResults %] >- >- var holdingst_table_settings = [% TablesSettings.GetTableSettings( 'opac', 'biblio-detail', 'holdingst', 'json' ) | $raw %]; >- [% IF ( !item_level_itypes || Koha.Preference('BiblioItemtypeInfo') ) %] >- // The default in the yaml file is 1 "Item type". >- // If item-level_itypes is off the column will not appear, then select column 2 "Current library" >- if (holdingst_table_settings.default_sort_order == 1) { >- holdingst_table_settings.default_sort_order = 2; >- } >- [% END %] >- var otherholdingst_table_settings = JSON.parse(JSON.stringify(holdingst_table_settings)); // Clone >- >- let column; >- [% FOR k IN hidden_columns_force.holdingst %] >- column = holdingst_table_settings.columns.find(c => c.columnname == '[% k | html %]'); >- column.is_hidden = 1; >- column.cannot_be_toggled = 1; >- [% END %] >- >- [% FOR k IN hidden_columns_force.otherholdingst %] >- column = otherholdingst_table_settings.columns.find(c => c.columnname == '[% k | html %]'); >- column.is_hidden = 1; >- column.cannot_be_toggled = 1; >- [% END %] >+ } > > $("#holdingst").kohaTable( > { >@@ -1967,8 +1990,6 @@ > otherholdingst_table_settings, > ); > >- var serial_table_settings = [% TablesSettings.GetTableSettings( 'opac', 'biblio-detail', 'subscriptionst', 'json' ) | $raw %]; >- > $(".subscriptionst").kohaTable( > { > dom: '<"clearfix">t', >@@ -1986,7 +2007,7 @@ > dTables.DataTable().responsive.recalc(); > } ); > >- [% IF ( TagsInputEnabled && loggedinusername ) %] >+ if (prefs.TagsInputEnabled && loggedinusername){ > $(".tag_add").click(function(){ > var thisid = $(this).attr("id"); > thisid = thisid.replace("tag_add",""); >@@ -2015,30 +2036,30 @@ > KOHA.Tags.add_tag_button(thisid, tag); > return false; > }); >- [% END %] >+ } > >- [% IF ( query_desc ) %] >- [% IF ( OpacHighlightedWords ) %] >- var query_desc = "[% query_desc |replace("'", "\'") |replace('\n', '\\n') |replace('\r', '\\r') | html %]"; >- q_array = query_desc.split(" "); >+ if (query_desc){ >+ if (prefs.OpacHighlightedWords){ >+ var query_desc_replaced = query_desc.replace("'", "\'").replace('\n', '\\n').replace('\r', '\\r'); >+ q_array = query_desc_replaced.split(" "); > q_array = q_array.filter(function(n){ return n }); // Remove empty strings > highlightOn(); > $("#highlight_toggle_on" ).hide().click(function() {highlightOn() ; return false;}); > $("#highlight_toggle_off").show().click(function() {highlightOff(); return false;}); >- [% END %] >- [% END %] >+ } >+ } > >- [% IF ( GoogleJackets ) %] >- KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]); >- [% END %] >+ if (prefs.GoogleJackets){ >+ KOHA.Google.GetCoverFromIsbn(prefs.OPACURLOpenInNewWindow); >+ } > >- [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %] >- KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]', $('#biblio-cover-slider') ); >- [% END %] >+ if (prefs.OpacCoce && prefs.CoceProviders){ >+ KOHA.coce.getURL(prefs.CoceHost, prefs_CoceProviders, $('#biblio-cover-slider') ); >+ } > >- [% IF OpenLibraryCovers %] >+ if (prefs.OpenLibraryCovers){ > KOHA.OpenLibrary.GetCoverFromIsbn(); >- [% END %] >+ } > > [% IF ( NovelistSelectProfile && ( normalized_isbn || normalized_upc ) ) %] > novSelect.loadContentForQuery( >@@ -2056,7 +2077,7 @@ > }); > [% END %] > >- [% IF ( OPACShelfBrowser ) %] >+ if (prefs.OPACShelfBrowser){ > // Focus on shelf browser if present > var shelfbrowser = $("#shelfbrowser"); > if (shelfbrowser.length > 0) { >@@ -2082,18 +2103,18 @@ > }, > success: function(data){ > $("#shelfbrowser").replaceWith(data); >- [% IF ( GoogleJackets ) %] >- KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]); >- [% END %] >- [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %] >- KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]', $("#bibliodescriptions")); >- [% END %] >- [% IF OpenLibraryCovers %] >+ if (prefs.GoogleJackets){ >+ KOHA.Google.GetCoverFromIsbn(prefs.OPACURLOpenInNewWindow); >+ } >+ if (prefs.OpacCoce && prefs.CoceProviders){ >+ KOHA.coce.getURL(prefs.CoceHost, prefs.CoceProviders, $("#bibliodescriptions")); >+ } >+ if (prefs.OpenLibraryCovers){ > KOHA.OpenLibrary.GetCoverFromIsbn(); >- [% END %] >- [% IF OPACLocalCoverImages %] >+ } >+ if (OPACLocalCoverImages){ > KOHA.LocalCover.GetCoverFromBibnumber(true); >- [% END %] >+ } > } > }); > }); >@@ -2107,23 +2128,23 @@ > }, > success: function(data){ > $("#shelfbrowser").replaceWith(data); >- [% IF ( GoogleJackets ) %] >- KOHA.Google.GetCoverFromIsbn([% covernewwindow | html %]); >- [% END %] >- [% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %] >- KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]', $("#bibliodescriptions")); >- [% END %] >- [% IF OpenLibraryCovers %] >+ if (prefs.GoogleJackets){ >+ KOHA.Google.GetCoverFromIsbn(prefs.OPACURLOpenInNewWindow); >+ } >+ if (prefs.OpacCoce && prefs.CoceProviders){ >+ KOHA.coce.getURL(prefs.CoceHost, prefs.CoceProviders, $("#bibliodescriptions")); >+ } >+ if (prefs.OpenLibraryCovers){ > KOHA.OpenLibrary.GetCoverFromIsbn(); >- [% END %] >- [% IF OPACLocalCoverImages %] >+ } >+ if (prefs.OPACLocalCoverImages){ > KOHA.LocalCover.GetCoverFromBibnumber(true); >- [% END %] >+ } > } > }); > }); >- }()); >- [% END # /IF ( OPACShelfBrowser ) %] >+ }()); >+ } > > $(".edit_comment").on("click", function(e){ > e.preventDefault(); >@@ -2132,7 +2153,7 @@ > }); > > $(document).ready(function() { >- if( OPACPopupAuthorsSearch == "1" ){ >+ if( prefs.OPACPopupAuthorsSearch ){ > var terms = { > contributors : { > "label" : "author", >@@ -2194,7 +2215,7 @@ > e.preventDefault(); > multiSearchRequest(); > }); >- } /* if( OPACPopupAuthorsSearch == "1" ) */ >+ } > > $(".library_info").on("click", function(e){ > e.preventDefault(); >diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl >index edf609cb021..4a41d4fa888 100755 >--- a/opac/opac-detail.pl >+++ b/opac/opac-detail.pl >@@ -1180,15 +1180,6 @@ if ( C4::Context->preference('TagsEnabled') and $tag_quantity = C4::Context->pre > ); > } > >-if ( C4::Context->preference("OPACURLOpenInNewWindow") ) { >- >- # These values are going to be read by Javascript, at least in the case >- # of the google covers >- $template->param( covernewwindow => 'true' ); >-} else { >- $template->param( covernewwindow => 'false' ); >-} >- > $template->param( borrowernumber => $borrowernumber ); > > if ( C4::Context->preference('OpacStarRatings') !~ /disable/ ) { >-- >2.43.0 >
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 41582
:
191174
|
191175
|
191176
|
191177
|
191178
| 191179 |
191180
|
191181
|
191182
|
191183
|
191184
|
191185
|
191186
|
191187
|
191188