Bugzilla – Attachment 151489 Details for
Bug 33526
Use template wrapper for tabs: bibliographic detail page
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 33526: Use template wrapper for tabs: Bibliographic detail page
Bug-33526-Use-template-wrapper-for-tabs-Bibliograp.patch (text/plain), 97.78 KB, created by
Owen Leonard
on 2023-05-19 17:44:19 UTC
(
hide
)
Description:
Bug 33526: Use template wrapper for tabs: Bibliographic detail page
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2023-05-19 17:44:19 UTC
Size:
97.78 KB
patch
obsolete
>From 19300063c5e22aa30ae12e89b8ea82b46a62936f Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Fri, 19 May 2023 11:02:26 +0000 >Subject: [PATCH] Bug 33526: Use template wrapper for tabs: Bibliographic > detail page > >This patch updates the bibliographic detail page so that it uses the new >WRAPPER directive to build tabbed navigation. > >Note: this patch includes indentation changes, so check the diff >accordingly. > >To test, apply the patch and view the detail page for a bibliographic >record. Test the tabs in as many variations as you can: > >- With and without SeparateHoldings enabled >- With and without cover images enabled >- With FRBRizeEditions enabled (and multiple editions in your catalog) > - See Bug 33195 for a MARC file to use when testing FRBRizeEditions > with ThingISBN >- With LocalCoverImages enabled >- With AcquisitionDetails enabled >- With a serial record >- With a record added from a suggestion >- With a record with component parts > - See Bug 11175 for a MARCXML file to use to test this feature >- With EnableItemGroups enabled >- Wtih CatalogConcerns enabled >- With HTML5MediaEnabled and a record with media links > - See Bug 8377 for a MARC file to use to test this feature >- With and without NovelistSelect enabled (requires Novelist > credentials) > - With NovelistSelectStaffView set to "above the holdings table," > "below the holdings table," and "in a tab" >- With a plugin enabled which adds a tab to this view > - See Bug 27120 for a sample plugin for testing plugin-generated tabs >--- > .../prog/en/includes/html_helpers.inc | 4 +- > .../prog/en/modules/catalogue/detail.tt | 887 +++++++++--------- > 2 files changed, 451 insertions(+), 440 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc >index f0d695bc9c..f7d71ff065 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc >@@ -389,9 +389,9 @@ > > [% BLOCK tab_item %] > [% IF ( bt_active ) %] >- <li role="presentation" class="active"> >+ <li class="[% tabname | html %]_tab" role="presentation" class="active"> > [% ELSE %] >- <li role="presentation"> >+ <li class="[% tabname | html %]_tab" role="presentation"> > [% END %] > <a href="#[% tabname | uri %]_panel" data-tabname="[% tabname | uri %]" aria-controls="[% tabname | uri %]_panel" role="tab" data-toggle="tab"> > [% content | $raw %] >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 6eb7d6a4d3..6929623d06 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt >@@ -44,6 +44,13 @@ > </title> > [% INCLUDE 'doc-head-close.inc' %] > [% Asset.css("lib/Chocolat/css/chocolat.css") | $raw %] >+[% FILTER collapse %] >+ <style> >+ .nav li.NovelistSelect_tab { >+ display: none; >+ } >+ </style> >+[% END %] > </head> > > <body id="catalog_detail" class="catalog"> >@@ -289,492 +296,495 @@ > [% END # /IF ( AmazonCoverImages, etc ) %] > </div> <!-- /.row --> > >- <div id="bibliodetails" class="toptabs"> >- <ul class="nav nav-tabs" role="tablist"> >+ [% WRAPPER tabs id= "bibliodetails" %] >+ [% WRAPPER tabs_nav %] > [% IF (SeparateHoldings) %] >- <li role="presentation"> >- <a href="#holdings" aria-controls="holdings" role="tab" data-toggle="tab">[% Branches.GetLoggedInBranchname | html %] holdings ([% itemloop.size() || 0 | html %])</a> >- </li> >- <li role="presentation"> >- <a href="#otherholdings" aria-controls="otherholdings" role="tab" data-toggle="tab">Other holdings ([% otheritemloop.size() || 0 | html %])</a> >- </li> >+ [% WRAPPER tab_item tabname= "holdings" %] >+ <span>[% Branches.GetLoggedInBranchname | html %] holdings ([% itemloop.size() || 0 | html %])</span> >+ [% END %] >+ [% WRAPPER tab_item tabname= "otherholdings" %] >+ <span>Other holdings ([% otheritemloop.size() || 0 | html %])</span> >+ [% END %] > [% ELSE %] >- <li role="presentation"> >- <a href="#holdings" aria-controls="holdings" role="tab" data-toggle="tab">Holdings ([% itemloop.size() || 0 | html %])</a> >- </li> >+ [% WRAPPER tab_item tabname= "holdings" %] >+ <span>Holdings ([% itemloop.size() || 0 | html %])</span> >+ [% END %] > [% END # /IF (SeparateHoldings) %] > [% IF Koha.Preference('EnableItemGroups') %] >- <li role="presentation"> >- <a href="#item_groups" aria-controls="item_groups" role="tab" data-toggle="tab">Item groups</a> >- </li> >+ [% WRAPPER tab_item tabname= "item_groups" %] >+ <span>Item groups</span> >+ [% END %] > [% END %] > [% IF ( MARCNOTES || notes ) %] >- <li role="presentation"> >- <a href="#description" aria-controls="description" role="tab" data-toggle="tab">Descriptions ([% ( MARCNOTES.size || 1 ) | html %])</a> >- </li> >+ [% WRAPPER tab_item tabname= "description" %] >+ <span>Descriptions ([% ( MARCNOTES.size || 1 ) | html %])</span> >+ [% END %] > [% END %] > [% IF ComponentParts && ComponentParts.size %] >- <li id="components_tab" role="presentation"> >- <a href="#components" aria-controls="components" role="tab" data-toggle="tab">Components ([% ComponentParts.size | html %])</a> >- </li> >+ [% WRAPPER tab_item tabname= "components" %] >+ <span>Components ([% ComponentParts.size | html %])</span> >+ [% END %] > [% END %] > [% IF ( subscriptionsnumber ) %] >- <li role="presentation"> >- <a href="#subscriptions" aria-controls="subscriptions" role="tab" data-toggle="tab">Subscriptions</a> >- </li> >+ [% WRAPPER tab_item tabname= "subscriptions" %] >+ <span>Subscriptions</span> >+ [% END %] > [% END %] > [% IF Koha.Preference('AcquisitionDetails') %] >- <li role="presentation"> >- <a href="#acq_details" aria-controls="acq_details" role="tab" data-toggle="tab">Acquisition details</a> >- </li> >+ [% WRAPPER tab_item tabname= "acq_details" %] >+ <span>Acquisition details</span> >+ [% END %] > [% END %] > [% IF suggestions.count %] >- <li role="presentation"> >- <a href="#suggestion_details" aria-controls="suggestion_details" role="tab" data-toggle="tab">Suggestion details</a> >- </li> >+ [% WRAPPER tab_item tabname= "suggestion_details" %] >+ <span>Suggestion details</span> >+ [% END %] > [% END %] > [% IF ( FRBRizeEditions ) %] > [% IF ( XISBNS ) %] >- <li role="presentation"> >- <a href="#editions" aria-controls="editions" role="tab" data-toggle="tab">Editions</a> >- </li> >+ [% WRAPPER tab_item tabname= "editions" %] >+ <span>Editions</span> >+ [% END %] > [% END %] > [% END %] > [% IF ( ( Koha.Preference('CatalogConcerns') || Koha.Preference('OpacCatalogConcerns') ) && CAN_user_editcatalogue_edit_catalogue ) %] >- <li role="presentation"> >- <a href="#concerns" aria-controls="concerns" role="tab" data-toggle="tab">Concerns ([% biblio.tickets.count | html %])</a> >- </li> >+ [% WRAPPER tab_item tabname= "concerns" %] >+ <span>Concerns ([% biblio.tickets.count | html %])</span> >+ [% END %] > [% END %] > [% IF ( LocalCoverImages ) %] >- <li role="presentation"> >- <a href="#images" aria-controls="images" role="tab" data-toggle="tab">Images ([% localimages.count || 0 | html %])</a> >- </li> >+ [% WRAPPER tab_item tabname= "images" %] >+ <span>Images ([% localimages.count || 0 | html %])</span> >+ [% END %] > [% END %] > [% IF HTML5MediaEnabled && HTML5MediaSets.size %] >- <li id="media_tab" role="presentation"><a href="#html5media" aria-controls="html5media" role="tab" data-toggle="tab">Play media</a></li> >+ [% WRAPPER tab_item tabname= "html5media" %] >+ <span>Play media</span> >+ [% END %] >+ <!-- <li id="media_tab" role="presentation"><a href="#" aria-controls="html5media" role="tab" data-toggle="tab">Play media</a></li> --> > [% END %] > [% IF ( Koha.Preference('NovelistSelectStaffEnabled') && Koha.Preference('NovelistSelectStaffProfile') && Koha.Preference('NovelistSelectStaffView') == 'tab' ) %] >- <li class="NovelistSelect" style="display:none;" role="presentation"> >- <a href="#NovelistSelect" aria-controls="NovelistSelect" role="tab" data-toggle="tab">NoveList Select</a> >- </li> >+ [% WRAPPER tab_item tabname= "NovelistSelect" %] >+ <span>Novelist Select</span> >+ [% END %] > [% END %] > [% FOREACH plugins_intranet_catalog_biblio_tab IN plugins_intranet_catalog_biblio_tabs %] >- <li role="presentation"> >- <a href="#[% plugins_intranet_catalog_biblio_tab.id | uri %]" aria-controls="[% plugins_intranet_catalog_biblio_tab.id | uri %]" role="tab" data-toggle="tab">[% plugins_intranet_catalog_biblio_tab.title | html %]</a> >- </li> >+ [% WRAPPER tab_item tabname= plugins_intranet_catalog_biblio_tab.id %] >+ <span>[% plugins_intranet_catalog_biblio_tab.title | html %]</span> >+ [% END %] > [% END # /FOREACH plugins_intranet_catalog_biblio_tab %] >- </ul> <!-- /.nav.nav-tabs --> >- >- <div class="tab-content"> >- [% items_table_block_iter = 0 %] >- [% BLOCK items_table %] >- [% items_table_block_iter = items_table_block_iter + 1 %] >- <div class="[% tab | html %]_table_table_controls"> >- [% IF (StaffDetailItemSelection) %] >- | <a href="#" class="SelectAll" data-tab="[% tab | html %]"><i class="fa fa-check"></i> Select all</a> | >- <a href="#" class="ClearAll" data-tab="[% tab | html %]"><i class="fa fa-remove"></i> Clear all</a> >- <span class="itemselection_actions"> >- | Actions: >- [% IF CAN_user_tools_items_batchdel %] >- <a class="itemselection_action_delete"><i class="fa fa-trash"></i> Delete selected items</a> >- [% END %] >- [% IF CAN_user_tools_items_batchmod %] >- <a class="itemselection_action_modify"><i class="fa fa-pencil"></i> Modify selected items</a> >- [% END %] >- [% IF CAN_user_editcatalogue_manage_item_groups && biblio.item_groups.count %] >- <a class="itemselection_action_item_group_set" href="#"><i class="fa fa-book"></i> Add/move to item group</a> >- <a class="itemselection_action_item_group_unset" href="#"><i class="fa fa-unlink"></i> Remove from item group</a> >- [% END %] >- </span> <!-- /.itemselection_actions --> >- [% END # /IF (StaffDetailItemSelection) %] >- </div> <!-- /.tab_table_table_controls --> >- >- <table class="items_table" id="[% tab | html %]_table"> >- <thead> >- <tr> >+ [% END # /WRAPPER tabs_nav %] >+ >+ [% items_table_block_iter = 0 %] >+ [% BLOCK items_table %] >+ [% items_table_block_iter = items_table_block_iter + 1 %] >+ <div class="[% tab | html %]_table_table_controls"> >+ [% IF (StaffDetailItemSelection) %] >+ | <a href="#" class="SelectAll" data-tab="[% tab | html %]"><i class="fa fa-check"></i> Select all</a> | >+ <a href="#" class="ClearAll" data-tab="[% tab | html %]"><i class="fa fa-remove"></i> Clear all</a> >+ <span class="itemselection_actions"> >+ | Actions: >+ [% IF CAN_user_tools_items_batchdel %] >+ <a class="itemselection_action_delete"><i class="fa fa-trash"></i> Delete selected items</a> >+ [% END %] >+ [% IF CAN_user_tools_items_batchmod %] >+ <a class="itemselection_action_modify"><i class="fa fa-pencil"></i> Modify selected items</a> >+ [% END %] >+ [% IF CAN_user_editcatalogue_manage_item_groups && biblio.item_groups.count %] >+ <a class="itemselection_action_item_group_set" href="#"><i class="fa fa-book"></i> Add/move to item group</a> >+ <a class="itemselection_action_item_group_unset" href="#"><i class="fa fa-unlink"></i> Remove from item group</a> >+ [% END %] >+ </span> <!-- /.itemselection_actions --> >+ [% END # /IF (StaffDetailItemSelection) %] >+ </div> <!-- /.tab_table_table_controls --> >+ >+ <table class="items_table" id="[% tab | html %]_table"> >+ <thead> >+ <tr> >+ [% IF (StaffDetailItemSelection) %] >+ <th id="[% tab | html %]_checkbox" data-colname="[% tab | html %]_checkbox" class="NoSort"></th> >+ [% END %] >+ [% IF Koha.Preference('LocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %] >+ <th id="[% tab | html %]_cover_image" data-colname="[% tab | html %]_cover_image">Cover image</th> >+ [% END %] >+ [% IF ( item_level_itypes ) %] >+ <th id="[% tab | html %]_itype" data-colname="[% tab | html %]_itype">Item type</th> >+ [% END %] >+ <th id="[% tab | html %]_holdingbranch" data-colname="[% tab | html %]_holdingbranch">Current library</th> >+ <th id="[% tab | html %]_homebranch" data-colname="[% tab | html %]_homebranch">Home library</th> >+ [% IF ( itemdata_ccode ) %] >+ <th id="[% tab | html %]_ccode" data-colname="[% tab | html %]_ccode">Collection</th> >+ [% END %] >+ [% IF Koha.Preference('EnableItemGroups') %] >+ <th id="[% tab | html %]_item_group" data-colname="[% tab | html %]_item_group">Item group</th> >+ [% END %] >+ <th id="[% tab | html %]_itemcallnumber" data-colname="[% tab | html %]_itemcallnumber">Call number</th> >+ [% IF volinfo %] >+ <th id="[% tab | html %]_enumchron" data-colname="[% tab | html %]_enumchron">Serial enumeration / chronology</th> >+ [% END %] >+ <th id="[% tab | html %]_status" data-colname="[% tab | html %]_status">Status</th> >+ <th id="[% tab | html %]_lastseen" data-colname="[% tab | html %]_lastseen">Last seen</th> >+ <th id="[% tab | html %]_issues" data-colname="[% tab | html %]_issues">Checkouts</th> >+ <th id="[% tab | html %]_renewals" data-colname="[% tab | html %]_renewals">Renewals</th> >+ <th id="[% tab | html %]_dateaccessioned" data-colname="[% tab | html %]_dateaccessioned">Date accessioned</th> >+ <th id="[% tab | html %]_datelastborrowed" data-colname="[% tab | html %]_datelastborrowed">Date last borrowed</th> >+ <th id="[% tab | html %]_barcode" data-colname="[% tab | html %]_barcode">Barcode</th> >+ [% IF ( itemdata_uri ) %] >+ <th id="[% tab | html %]_uri" data-colname="[% tab | html %]_uri">URL</th> >+ [% END %] >+ [% IF ( itemdata_copynumber ) %] >+ <th id="[% tab | html %]_copynumber" data-colname="[% tab | html %]_copynumber">Copy number</th> >+ [% END %] >+ [% IF ( itemdata_stocknumber ) %] >+ <th id="[% tab | html %]_stocknumber" data-colname="[% tab | html %]_stocknumber">Inventory number</th> >+ [% END %] >+ [% IF materials %] >+ <th id="[% tab | html %]_materials" data-colname="[% tab | html %]_materials">Materials specified</th> >+ [% END %] >+ [% IF ( itemdata_itemnotes ) %] >+ <th id="[% tab | html %]_itemnotes" data-colname="[% tab | html %]_itemnotes">Public notes</th> >+ [% END %] >+ [% IF ( itemdata_nonpublicnotes ) %] >+ <th id="[% tab | html %]_itemnotes_nonpublic" data-colname="[% tab | html %]_itemnotes_nonpublic">Non-public notes</th> >+ [% END %] >+ [% IF ( hostrecords ) %] >+ <th id="[% tab | html %]_hostrecord" data-colname="[% tab | html %]_hostrecord">Host records</th> >+ [% END %] >+ [% IF ( analyze ) %] >+ <th id="[% tab | html %]_usedin" data-colname="[% tab | html %]_usedin">Used in</th><th></th> >+ [% END %] >+ [% IF ( ShowCourseReserves ) %] >+ <th id="[% tab | html %]_course_reserves" data-colname="[% tab | html %]_course_reserves">Course reserves</th> >+ [% END %] >+ [% IF ( SpineLabelShowPrintOnBibDetails ) %] >+ <th id="[% tab | html %]_spinelabel" data-colname="[% tab | html %]_spinelabel" class="NoSort">Spine label</th> >+ [% END %] >+ [% IF ( CAN_user_editcatalogue_edit_items ) %] >+ <th id="[% tab | html %]_actions" data-colname="[% tab | html %]_actions"class="NoSort noExport"> </th> >+ [% END %] >+ </tr> >+ </thead> >+ <tbody> >+ [% FOREACH item IN items %] >+ <tr id="item_[% item.itemnumber | html %]" data-itemnumber="[% item.itemnumber | html %]" data-duedate="[% item.datedue | html %]"> > [% IF (StaffDetailItemSelection) %] >- <th id="[% tab | html %]_checkbox" data-colname="[% tab | html %]_checkbox" class="NoSort"></th> >+ <td style="text-align:center;vertical-align:middle"> >+ [% IF item.can_be_edited %] >+ <input type="checkbox" value="[% item.itemnumber | html %]" name="itemnumber" /> >+ [% END %] >+ </td> > [% END %] > [% IF Koha.Preference('LocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %] >- <th id="[% tab | html %]_cover_image" data-colname="[% tab | html %]_cover_image">Cover image</th> >+ <td class="cover"> >+ <div class="bookcoverimg"> >+ <div class="cover-slider"> >+ [% FOREACH image IN item.object.cover_images %] >+ <div class="cover-image local-coverimg"> >+ <a href="/cgi-bin/koha/catalogue/image.pl?itemnumber=[% image.itemnumber | uri %]&imagenumber=[% image.imagenumber | uri %]" title="Local cover image"> >+ <img src="/cgi-bin/koha/catalogue/image.pl?thumbnail=1&imagenumber=[% image.imagenumber | uri %]" alt="Local cover image" data-link="/cgi-bin/koha/catalogue/imageviewer.pl?itemnumber=[% item.itemnumber | uri %]&imagenumber=[% image.imagenumber | uri %]" /> >+ </a> >+ </div> >+ [% END %] >+ </div> >+ </div> >+ </td> > [% END %] >+ > [% IF ( item_level_itypes ) %] >- <th id="[% tab | html %]_itype" data-colname="[% tab | html %]_itype">Item type</th> >- [% END %] >- <th id="[% tab | html %]_holdingbranch" data-colname="[% tab | html %]_holdingbranch">Current library</th> >- <th id="[% tab | html %]_homebranch" data-colname="[% tab | html %]_homebranch">Home library</th> >- [% IF ( itemdata_ccode ) %] >- <th id="[% tab | html %]_ccode" data-colname="[% tab | html %]_ccode">Collection</th> >- [% END %] >- [% IF Koha.Preference('EnableItemGroups') %] >- <th id="[% tab | html %]_item_group" data-colname="[% tab | html %]_item_group">Item group</th> >- [% END %] >- <th id="[% tab | html %]_itemcallnumber" data-colname="[% tab | html %]_itemcallnumber">Call number</th> >- [% IF volinfo %] >- <th id="[% tab | html %]_enumchron" data-colname="[% tab | html %]_enumchron">Serial enumeration / chronology</th> >- [% END %] >- <th id="[% tab | html %]_status" data-colname="[% tab | html %]_status">Status</th> >- <th id="[% tab | html %]_lastseen" data-colname="[% tab | html %]_lastseen">Last seen</th> >- <th id="[% tab | html %]_issues" data-colname="[% tab | html %]_issues">Checkouts</th> >- <th id="[% tab | html %]_renewals" data-colname="[% tab | html %]_renewals">Renewals</th> >- <th id="[% tab | html %]_dateaccessioned" data-colname="[% tab | html %]_dateaccessioned">Date accessioned</th> >- <th id="[% tab | html %]_datelastborrowed" data-colname="[% tab | html %]_datelastborrowed">Date last borrowed</th> >- <th id="[% tab | html %]_barcode" data-colname="[% tab | html %]_barcode">Barcode</th> >- [% IF ( itemdata_uri ) %] >- <th id="[% tab | html %]_uri" data-colname="[% tab | html %]_uri">URL</th> >- [% END %] >- [% IF ( itemdata_copynumber ) %] >- <th id="[% tab | html %]_copynumber" data-colname="[% tab | html %]_copynumber">Copy number</th> >- [% END %] >- [% IF ( itemdata_stocknumber ) %] >- <th id="[% tab | html %]_stocknumber" data-colname="[% tab | html %]_stocknumber">Inventory number</th> >- [% END %] >- [% IF materials %] >- <th id="[% tab | html %]_materials" data-colname="[% tab | html %]_materials">Materials specified</th> >- [% END %] >- [% IF ( itemdata_itemnotes ) %] >- <th id="[% tab | html %]_itemnotes" data-colname="[% tab | html %]_itemnotes">Public notes</th> >- [% END %] >- [% IF ( itemdata_nonpublicnotes ) %] >- <th id="[% tab | html %]_itemnotes_nonpublic" data-colname="[% tab | html %]_itemnotes_nonpublic">Non-public notes</th> >- [% END %] >- [% IF ( hostrecords ) %] >- <th id="[% tab | html %]_hostrecord" data-colname="[% tab | html %]_hostrecord">Host records</th> >- [% END %] >- [% IF ( analyze ) %] >- <th id="[% tab | html %]_usedin" data-colname="[% tab | html %]_usedin">Used in</th><th></th> >- [% END %] >- [% IF ( ShowCourseReserves ) %] >- <th id="[% tab | html %]_course_reserves" data-colname="[% tab | html %]_course_reserves">Course reserves</th> >- [% END %] >- [% IF ( SpineLabelShowPrintOnBibDetails ) %] >- <th id="[% tab | html %]_spinelabel" data-colname="[% tab | html %]_spinelabel" class="NoSort">Spine label</th> >- [% END %] >- [% IF ( CAN_user_editcatalogue_edit_items ) %] >- <th id="[% tab | html %]_actions" data-colname="[% tab | html %]_actions"class="NoSort noExport"> </th> >+ <td class="itype"> >+ [% SET itemtype = item.itemtype %] >+ [% IF !noItemTypeImages && itemtype.image_location('intranet') %] >+ <img src="[% itemtype.image_location('intranet') | html %]" alt="[% itemtype.translated_description | html %]" title="[% itemtype.translated_description | html %]" /> >+ [% END %] >+ <span class="itypedesc itypetext">[% itemtype.translated_description | html %]</span> >+ </td> > [% END %] >- </tr> >- </thead> >- <tbody> >- [% FOREACH item IN items %] >- <tr id="item_[% item.itemnumber | html %]" data-itemnumber="[% item.itemnumber | html %]" data-duedate="[% item.datedue | html %]"> >- [% IF (StaffDetailItemSelection) %] >- <td style="text-align:center;vertical-align:middle"> >- [% IF item.can_be_edited %] >- <input type="checkbox" value="[% item.itemnumber | html %]" name="itemnumber" /> >- [% END %] >- </td> >- [% END %] >- [% IF Koha.Preference('LocalCoverImages') && ( tab == 'holdings' && itemloop_has_images || tab == 'otherholdings' && otheritemloop_has_images ) %] >- <td class="cover"> >- <div class="bookcoverimg"> >- <div class="cover-slider"> >- [% FOREACH image IN item.object.cover_images %] >- <div class="cover-image local-coverimg"> >- <a href="/cgi-bin/koha/catalogue/image.pl?itemnumber=[% image.itemnumber | uri %]&imagenumber=[% image.imagenumber | uri %]" title="Local cover image"> >- <img src="/cgi-bin/koha/catalogue/image.pl?thumbnail=1&imagenumber=[% image.imagenumber | uri %]" alt="Local cover image" data-link="/cgi-bin/koha/catalogue/imageviewer.pl?itemnumber=[% item.itemnumber | uri %]&imagenumber=[% image.imagenumber | uri %]" /> >- </a> >- </div> >- [% END %] >- </div> >- </div> >- </td> >+ <td class="location"> >+ [% UNLESS ( singlebranchmode ) %] >+ [% Branches.GetName( item.holdingbranch ) | html %] > [% END %] >- >- [% IF ( item_level_itypes ) %] >- <td class="itype"> >- [% SET itemtype = item.itemtype %] >- [% IF !noItemTypeImages && itemtype.image_location('intranet') %] >- <img src="[% itemtype.image_location('intranet') | html %]" alt="[% itemtype.translated_description | html %]" title="[% itemtype.translated_description | html %]" /> >+ </td> >+ <td class="homebranch"> >+ <span class="homebranchdesc">[% Branches.GetName(item.homebranch) | html %]</span> >+ <span class="shelvingloc"> >+ [%# If permanent location is defined, show description or code and %] >+ [%# display current location in parentheses. If not, display current location. %] >+ [%# Note that permanent location is a code, and location may be an authval. %] >+ [% IF item.permanent_location %] >+ [% SET permloc_authval = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => item.permanent_location ) %] >+ [% permloc_authval | html %] >+ [% SET item_location = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => item.location ) %] >+ [% IF item_location AND item_location != permloc_authval AND item.location != item.permanent_location %] >+ ([% item_location | html %]) > [% END %] >- <span class="itypedesc itypetext">[% itemtype.translated_description | html %]</span> >- </td> >- [% END %] >- <td class="location"> >- [% UNLESS ( singlebranchmode ) %] >- [% Branches.GetName( item.holdingbranch ) | html %] >+ [% ELSE %] >+ [% item_location | html %] > [% END %] >+ </span> >+ </td> >+ [% IF ( itemdata_ccode ) %] >+ <td> >+ [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => item.ccode ) | html %] > </td> >- <td class="homebranch"> >- <span class="homebranchdesc">[% Branches.GetName(item.homebranch) | html %]</span> >- <span class="shelvingloc"> >- [%# If permanent location is defined, show description or code and %] >- [%# display current location in parentheses. If not, display current location. %] >- [%# Note that permanent location is a code, and location may be an authval. %] >- [% IF item.permanent_location %] >- [% SET permloc_authval = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => item.permanent_location ) %] >- [% permloc_authval | html %] >- [% SET item_location = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => item.location ) %] >- [% IF item_location AND item_location != permloc_authval AND item.location != item.permanent_location %] >- ([% item_location | html %]) >- [% END %] >- [% ELSE %] >- [% item_location | html %] >- [% END %] >- </span> >+ [% END %] >+ [% IF Koha.Preference('EnableItemGroups') %] >+ <td class="item_group"> >+ [% item.object.item_group.description | html %] > </td> >- [% IF ( itemdata_ccode ) %] >- <td> >- [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => item.ccode ) | html %] >- </td> >+ [% END %] >+ <td class="itemcallnumber"> >+ [% IF ( item.itemcallnumber ) %] >+ [% item.itemcallnumber | html %] > [% END %] >- [% IF Koha.Preference('EnableItemGroups') %] >- <td class="item_group"> >- [% item.object.item_group.description | html %] >- </td> >+ </td> >+ [% IF ( volinfo ) %] >+ [% SET serial = item.serial %] >+ [% IF itemdata_publisheddate #If there is at least one published date, use it for sorting %] >+ <td class="enumchron" data-order="[% serial.publisheddate | html %]"> >+ [% ELSE %] >+ <td class="enumchron"> > [% END %] >- <td class="itemcallnumber"> >- [% IF ( item.itemcallnumber ) %] >- [% item.itemcallnumber | html %] >- [% END %] >- </td> >- [% IF ( volinfo ) %] >- [% SET serial = item.serial %] >- [% IF itemdata_publisheddate #If there is at least one published date, use it for sorting %] >- <td class="enumchron" data-order="[% serial.publisheddate | html %]"> >- [% ELSE %] >- <td class="enumchron"> >- [% END %] >- [% IF ( itemdata_enumchron ) %] >- [% IF item.enumchron && serial.serialseq %] >- <span class="enum">[% item.enumchron | html %]</span> >- [% IF ( serial.serialseq && item.enumchron != serial.serialseq ) %] >- <span class="sep"> -- </span> >- <span class="serialseq">[% serial.serialseq | html %]</span> >- [% END %] >- [% ELSIF item.enumchron %] >- <span class="enum">[% item.enumchron | html %]</span> >- [% ELSIF item.serialseq %] >+ [% IF ( itemdata_enumchron ) %] >+ [% IF item.enumchron && serial.serialseq %] >+ <span class="enum">[% item.enumchron | html %]</span> >+ [% IF ( serial.serialseq && item.enumchron != serial.serialseq ) %] >+ <span class="sep"> -- </span> > <span class="serialseq">[% serial.serialseq | html %]</span> > [% END %] >- [% IF serial.publisheddate %] >- <span class="pubdate">([% serial.publisheddate | $KohaDates %])</span> >- [% END %] >- [% END %] >- </td> >- [% END %] >- >- <td class="status"> >- [% IF item.object.checkout %] >- [% IF item.object.checkout.onsite_checkout %] >- <span>Currently in local use >- [% ELSE %] >- <span class="datedue">Checked out >- [% END %] >- >- [% IF item.can_be_edited %] >- [% IF item.object.checkout.onsite_checkout %] >- by >- [% ELSE %] >- to >- [% END %] >- [% INCLUDE 'patron-title.inc' patron=item.object.checkout.patron hide_patron_infos_if_needed=1 %] >- [% END %] >- : due [% item.object.checkout.date_due | $KohaDates as_due_date => 1 %] >- </span> >- [% ELSIF ( transfer = item.object.get_transfer ) %] >- [% IF (transfer.datesent) %] >- <span class="intransit">In transit from [% Branches.GetName( transfer.frombranch ) | html %] to [% Branches.GetName( transfer.tobranch ) | html %] since [% transfer.datesent | $KohaDates %]</span> >- [% ELSE %] >- <span class="transitrequested">Transit pending from [% Branches.GetName( transfer.frombranch ) | html %] to [% Branches.GetName( transfer.tobranch ) | html %] since [% item.transfer.daterequested | $KohaDates %]</span> >- >+ [% ELSIF item.enumchron %] >+ <span class="enum">[% item.enumchron | html %]</span> >+ [% ELSIF item.serialseq %] >+ <span class="serialseq">[% serial.serialseq | html %]</span> > [% END %] >- [% END %] >- >- [% IF ( item.itemlost ) %] >- [% SET itemlost_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => item.itemlost ) %] >- [% IF itemlostloop %] >- <span class="lost">[% itemlost_description | html %]</span> >- [% ELSE %] >- <span class="lost">Unavailable (lost or missing)</span> >+ [% IF serial.publisheddate %] >+ <span class="pubdate">([% serial.publisheddate | $KohaDates %])</span> > [% END %] > [% END %] >+ </td> >+ [% END %] > >- [% IF ( item.withdrawn ) %] >- [% SET withdrawn_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => item.withdrawn ) %] >- [% IF withdrawn_description %] >- <span class="wdn">[% withdrawn_description | html %]</span> >- [% ELSE %] >- <span class="wdn">Withdrawn</span> >- [% END %] >+ <td class="status"> >+ [% IF item.object.checkout %] >+ [% IF item.object.checkout.onsite_checkout %] >+ <span>Currently in local use >+ [% ELSE %] >+ <span class="datedue">Checked out > [% END %] > >- [% IF ( item.damaged ) %] >- [% SET damaged_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => item.damaged ) %] >- [% IF damaged_description %] >- <span class="dmg">[% damaged_description | html %]</span> >+ [% IF item.can_be_edited %] >+ [% IF item.object.checkout.onsite_checkout %] >+ by > [% ELSE %] >- <span class="dmg">Damaged</span> >- [% END %] >- [% END %] >- >- [% IF ( item.notforloan || item.itemtype.notforloan ) %] >- <span class="notforloan">Not for loan >- [% SET not_for_loan_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => item.notforloan ) %] >- [% IF not_for_loan_description %] >- <span class="reason">([% not_for_loan_description | html %])</span> >+ to > [% END %] >- </span> >+ [% INCLUDE 'patron-title.inc' patron=item.object.checkout.patron hide_patron_infos_if_needed=1 %] > [% END %] >+ : due [% item.object.checkout.date_due | $KohaDates as_due_date => 1 %] >+ </span> >+ [% ELSIF ( transfer = item.object.get_transfer ) %] >+ [% IF (transfer.datesent) %] >+ <span class="intransit">In transit from [% Branches.GetName( transfer.frombranch ) | html %] to [% Branches.GetName( transfer.tobranch ) | html %] since [% transfer.datesent | $KohaDates %]</span> >+ [% ELSE %] >+ <span class="transitrequested">Transit pending from [% Branches.GetName( transfer.frombranch ) | html %] to [% Branches.GetName( transfer.tobranch ) | html %] since [% item.transfer.daterequested | $KohaDates %]</span> > >- [% SET hold = item.first_hold %] >- [% IF hold %] >- [% IF hold.waitingdate %] >- <span class="waitingat">Waiting at [% Branches.GetName( hold.branchcode ) | html %][% IF ( hold.desk_id ) %], [% hold.desk.desk_name | html %][% END %] since [% hold.waitingdate | $KohaDates %].</span> >- [% IF canreservefromotherbranches AND ( hold.waitingdate OR hold.priority == 1 ) %] >- <span class="heldfor">Hold for:</span> >- [% INCLUDE 'patron-title.inc' patron=hold.borrower hide_patron_infos_if_needed=1 %] >- [% END %] >- [% ELSE %] >- <span class="holdonitem">There is an item level hold on this item (priority = [% hold.priority | html %]).</span> >- [% END %] > [% END %] >+ [% END %] > >- [% IF Koha.Preference('UseRecalls') %] >- [% SET recall = item.object.recall %] >- [% IF recall %] >- [% IF recall.waiting_date %] >- <span>Waiting at [% Branches.GetName( recall.pickup_library_id ) | html %] since [% recall.waiting_date | $KohaDates %]</span> >- [% ELSE %] >- [% patron_link = BLOCK %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% recall.patron_id | uri %]">[% recall.patron.firstname | html %] [% recall.patron.surname | html %] ([% recall.patron.cardnumber | html %])</a>[% END %] >- <span>recalled by [% patron_link| $raw %] on [% recall.created_date | $KohaDates %]</span> >- [% END %] >- [% END %] >+ [% IF ( item.itemlost ) %] >+ [% SET itemlost_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => item.itemlost ) %] >+ [% IF itemlostloop %] >+ <span class="lost">[% itemlost_description | html %]</span> >+ [% ELSE %] >+ <span class="lost">Unavailable (lost or missing)</span> > [% END %] >+ [% END %] > >- [% UNLESS ( item.notforloan || item.itemtype.notforloan || item.onloan || item.itemlost || item.withdrawn || item.damaged || item.transfer || hold || ( Koha.Preference('UseRecalls') && recall ) ) %] >- <span>Available</span> >+ [% IF ( item.withdrawn ) %] >+ [% SET withdrawn_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => item.withdrawn ) %] >+ [% IF withdrawn_description %] >+ <span class="wdn">[% withdrawn_description | html %]</span> >+ [% ELSE %] >+ <span class="wdn">Withdrawn</span> > [% END %] >+ [% END %] > >- [% IF ( item.restricted ) %] >- <span class="restricted">([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.restricted', authorised_value => item.restricted ) | html %])</span> >+ [% IF ( item.damaged ) %] >+ [% SET damaged_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => item.damaged ) %] >+ [% IF damaged_description %] >+ <span class="dmg">[% damaged_description | html %]</span> >+ [% ELSE %] >+ <span class="dmg">Damaged</span> > [% END %] >+ [% END %] > >- [% IF ( item.bundle_host ) %] >- <span class="bundled">In bundle: [% INCLUDE 'biblio-title.inc' biblio = item.bundle_host.biblio link = 1 %]</span> >+ [% IF ( item.notforloan || item.itemtype.notforloan ) %] >+ <span class="notforloan">Not for loan >+ [% SET not_for_loan_description = AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => item.notforloan ) %] >+ [% IF not_for_loan_description %] >+ <span class="reason">([% not_for_loan_description | html %])</span> > [% END %] >- </td> >+ </span> >+ [% END %] > >- <td class="datelastseen" data-order="[% item.datelastseen | html %]"> >- [% item.datelastseen | $KohaDates with_hours => 1 %] >- </td> >- <td class="issues" data-order="[% item.issues || 0 | html %]"> >- [% item.issues || 0 | html %] >- </td> >- <td class="renewals" data-order="[% item.renewals || 0 | html %]"> >- [% item.renewals || 0 | html %] >- </td> >- <td class="dateaccessioned" data-order="[% item.dateaccessioned | html %]"> >- [% item.dateaccessioned | $KohaDates %] >- </td> >- <td class="datelastborrowed" data-order="[% item.datelastborrowed | html %]"> >- [% item.datelastborrowed | $KohaDates %] >- </td> >- <td> >- <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% item.itemnumber | uri %]&biblionumber=[% item.biblionumber | uri %]&bi=[% item.biblioitemnumber | uri %]#item[% item.itemnumber | uri %]">[% item.barcode | html %]</a> >- </td> >- [% IF ( itemdata_uri ) %] >- [% IF item.uri.split(' \| ').size > 1 %] >- <td class="uri"> >- [% FOREACH uri IN item.uri.split(' \| ') %]<a href="[% uri | url %]">[% uri | html %]</a><br>[% END %] >- </td> >+ [% SET hold = item.first_hold %] >+ [% IF hold %] >+ [% IF hold.waitingdate %] >+ <span class="waitingat">Waiting at [% Branches.GetName( hold.branchcode ) | html %][% IF ( hold.desk_id ) %], [% hold.desk.desk_name | html %][% END %] since [% hold.waitingdate | $KohaDates %].</span> >+ [% IF canreservefromotherbranches AND ( hold.waitingdate OR hold.priority == 1 ) %] >+ <span class="heldfor">Hold for:</span> >+ [% INCLUDE 'patron-title.inc' patron=hold.borrower hide_patron_infos_if_needed=1 %] >+ [% END %] > [% ELSE %] >- <td class="uri"> >- [% IF item.uri %] >- <a href="[% item.uri | url %]">[% IF Koha.Preference('URLLinkText') %][% Koha.Preference('URLLinkText') | html %][% ELSE %]Link to resource[% END %]</a> >- [% END %] >- </td> >+ <span class="holdonitem">There is an item level hold on this item (priority = [% hold.priority | html %]).</span> > [% END %] > [% END %] >- [% IF ( itemdata_copynumber ) %] >- <td class="copynumber"> >- [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.copynumber', authorised_value => item.copynumber ) | html %] >- </td> >- [% END %] >- [% IF ( itemdata_stocknumber ) %] >- <td class="stocknumber">[% item.stocknumber | html %]</td> >+ >+ [% IF Koha.Preference('UseRecalls') %] >+ [% SET recall = item.object.recall %] >+ [% IF recall %] >+ [% IF recall.waiting_date %] >+ <span>Waiting at [% Branches.GetName( recall.pickup_library_id ) | html %] since [% recall.waiting_date | $KohaDates %]</span> >+ [% ELSE %] >+ [% patron_link = BLOCK %]<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% recall.patron_id | uri %]">[% recall.patron.firstname | html %] [% recall.patron.surname | html %] ([% recall.patron.cardnumber | html %])</a>[% END %] >+ <span>recalled by [% patron_link| $raw %] on [% recall.created_date | $KohaDates %]</span> >+ [% END %] >+ [% END %] > [% END %] >- [% IF materials %] >- <td class="materials"> [% item.materials | html %] </td> >+ >+ [% UNLESS ( item.notforloan || item.itemtype.notforloan || item.onloan || item.itemlost || item.withdrawn || item.damaged || item.transfer || hold || ( Koha.Preference('UseRecalls') && recall ) ) %] >+ <span>Available</span> > [% END %] >- [% IF ( itemdata_itemnotes ) %] >- <td> >- <div class="itemnotes">[% item.object.itemnotes.replace('\n','<br />') | $raw %]</div> >- </td> >+ >+ [% IF ( item.restricted ) %] >+ <span class="restricted">([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.restricted', authorised_value => item.restricted ) | html %])</span> > [% END %] >- [% IF itemdata_nonpublicnotes %] >- <td class="nonpublicnote">[% item.itemnotes_nonpublic | html %]</td> >+ >+ [% IF ( item.bundle_host ) %] >+ <span class="bundled">In bundle: [% INCLUDE 'biblio-title.inc' biblio = item.bundle_host.biblio link = 1 %]</span> > [% END %] >- [% IF ( hostrecords ) %] >- <td> >- [% IF ( item.hostbiblionumber) %] >- <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.hostbiblionumber | uri %]" >[% item.hosttitle | html %]</a> >- [% END %] >+ </td> >+ >+ <td class="datelastseen" data-order="[% item.datelastseen | html %]"> >+ [% item.datelastseen | $KohaDates with_hours => 1 %] >+ </td> >+ <td class="issues" data-order="[% item.issues || 0 | html %]"> >+ [% item.issues || 0 | html %] >+ </td> >+ <td class="renewals" data-order="[% item.renewals || 0 | html %]"> >+ [% item.renewals || 0 | html %] >+ </td> >+ <td class="dateaccessioned" data-order="[% item.dateaccessioned | html %]"> >+ [% item.dateaccessioned | $KohaDates %] >+ </td> >+ <td class="datelastborrowed" data-order="[% item.datelastborrowed | html %]"> >+ [% item.datelastborrowed | $KohaDates %] >+ </td> >+ <td> >+ <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% item.itemnumber | uri %]&biblionumber=[% item.biblionumber | uri %]&bi=[% item.biblioitemnumber | uri %]#item[% item.itemnumber | uri %]">[% item.barcode | html %]</a> >+ </td> >+ [% IF ( itemdata_uri ) %] >+ [% IF item.uri.split(' \| ').size > 1 %] >+ <td class="uri"> >+ [% FOREACH uri IN item.uri.split(' \| ') %]<a href="[% uri | url %]">[% uri | html %]</a><br>[% END %] > </td> >- [% END %] >- [% IF ( analyze ) %] >- <td> >- [% IF ( item.countanalytics ) %] >- <a href="/cgi-bin/koha/catalogue/search.pl?idx=hi&q=[% item.itemnumber | uri %]">[% item.countanalytics | html %] analytics</a> >+ [% ELSE %] >+ <td class="uri"> >+ [% IF item.uri %] >+ <a href="[% item.uri | url %]">[% IF Koha.Preference('URLLinkText') %][% Koha.Preference('URLLinkText') | html %][% ELSE %]Link to resource[% END %]</a> > [% END %] > </td> > [% END %] >- [% IF ( analyze ) %] >- <td><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?hostbiblionumber=[% item.biblionumber | uri %]&hostitemnumber=[% item.itemnumber | uri %]">Create analytics</a></td> >- [% END %] >+ [% END %] >+ [% IF ( itemdata_copynumber ) %] >+ <td class="copynumber"> >+ [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.copynumber', authorised_value => item.copynumber ) | html %] >+ </td> >+ [% END %] >+ [% IF ( itemdata_stocknumber ) %] >+ <td class="stocknumber">[% item.stocknumber | html %]</td> >+ [% END %] >+ [% IF materials %] >+ <td class="materials"> [% item.materials | html %] </td> >+ [% END %] >+ [% IF ( itemdata_itemnotes ) %] >+ <td> >+ <div class="itemnotes">[% item.object.itemnotes.replace('\n','<br />') | $raw %]</div> >+ </td> >+ [% END %] >+ [% IF itemdata_nonpublicnotes %] >+ <td class="nonpublicnote">[% item.itemnotes_nonpublic | html %]</td> >+ [% END %] >+ [% IF ( hostrecords ) %] >+ <td> >+ [% IF ( item.hostbiblionumber) %] >+ <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% item.hostbiblionumber | uri %]" >[% item.hosttitle | html %]</a> >+ [% END %] >+ </td> >+ [% END %] >+ [% IF ( analyze ) %] >+ <td> >+ [% IF ( item.countanalytics ) %] >+ <a href="/cgi-bin/koha/catalogue/search.pl?idx=hi&q=[% item.itemnumber | uri %]">[% item.countanalytics | html %] analytics</a> >+ [% END %] >+ </td> >+ [% END %] >+ [% IF ( analyze ) %] >+ <td><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?hostbiblionumber=[% item.biblionumber | uri %]&hostitemnumber=[% item.itemnumber | uri %]">Create analytics</a></td> >+ [% END %] > >- [% IF ShowCourseReserves %] >- <td> >- [% IF item.course_reserves %] >- [% FOREACH r IN item.course_reserves %] >- [% IF r.course.enabled == 'yes' %] >- <p> >- <a href="/cgi-bin/koha/course_reserves/course-details.pl?course_id=[% r.course.course_id | uri %]"> >- [% r.course.course_name | html %] >- <!--[% IF r.course.course_number %] [% r.course.course_number | html %] [% END %]--> >- [% IF r.course.section %] [% r.course.section | html %] [% END %] >- [% IF r.course.term %] [% AuthorisedValues.GetByCode( 'TERM', r.course.term ) | html %] [% END %] >- </a> >- </p> >- [% END %] >+ [% IF ShowCourseReserves %] >+ <td> >+ [% IF item.course_reserves %] >+ [% FOREACH r IN item.course_reserves %] >+ [% IF r.course.enabled == 'yes' %] >+ <p> >+ <a href="/cgi-bin/koha/course_reserves/course-details.pl?course_id=[% r.course.course_id | uri %]"> >+ [% r.course.course_name | html %] >+ <!--[% IF r.course.course_number %] [% r.course.course_number | html %] [% END %]--> >+ [% IF r.course.section %] [% r.course.section | html %] [% END %] >+ [% IF r.course.term %] [% AuthorisedValues.GetByCode( 'TERM', r.course.term ) | html %] [% END %] >+ </a> >+ </p> > [% END %] > [% END %] >- </td> >- [% END %] >+ [% END %] >+ </td> >+ [% END %] > >- [% IF ( SpineLabelShowPrintOnBibDetails ) %] >- <td> >- <a class="btn btn-default btn-xs print-label" href="/cgi-bin/koha/labels/spinelabel-print.pl?barcode=[% item.barcode | uri %]"><i class="fa fa-print"></i> Print label</a> >- </td> >- [% END %] >+ [% IF ( SpineLabelShowPrintOnBibDetails ) %] >+ <td> >+ <a class="btn btn-default btn-xs print-label" href="/cgi-bin/koha/labels/spinelabel-print.pl?barcode=[% item.barcode | uri %]"><i class="fa fa-print"></i> Print label</a> >+ </td> >+ [% END %] > >- [% IF CAN_user_editcatalogue_edit_items %] >- <td class="actions"> >- [% IF item.can_be_edited %] >- [% IF Koha.Preference('LocalCoverImages') OR Koha.Preference('OPACLocalCoverImages') %] >- <div class="btn-group"> >- <a class="btn btn-default btn-xs" href="/cgi-bin/koha/cataloguing/additem.pl?op=edititem&biblionumber=[% item.biblionumber | html %]&itemnumber=[% item.itemnumber | html %]#edititem"><i class="fa fa-pencil"></i> Edit</a><a class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a> >- <ul class="dropdown-menu pull-right"> >- <li><a href="/cgi-bin/koha/tools/upload-cover-image.pl?itemnumber=[% item.itemnumber | uri %]&filetype=image"><i class="fa fa-upload"></i> Upload image</a></li> >- </ul> >- </div> <!-- /.btn-group --> >- [% ELSE %] >- <a class="btn btn-default btn-xs" href="/cgi-bin/koha/cataloguing/additem.pl?op=edititem&biblionumber=[% item.biblionumber | html %]&itemnumber=[% item.itemnumber | html %]#edititem"><i class="fa fa-pencil"></i> Edit</a> >- [% END # /IF LocalCoverImages %] >- [% END # /IF item.can_be_edited %] >- [% IF bundlesEnabled %] >- <button class="btn btn-default btn-xs details-control"><i class="fa fa-folder"></i> Manage bundle ([% item.bundled | html %]|[% item.bundled_lost | html %])</button> >- [% END %] >- </td> <!-- /.actions --> >- [% END # /IF CAN_user_editcatalogue_edit_items %] >- </tr> >- [% END # /FOREACH item %] >- </tbody> >- </table> <!-- /.items_table --> >- [% END %][% # /BLOCK items_table %] >+ [% IF CAN_user_editcatalogue_edit_items %] >+ <td class="actions"> >+ [% IF item.can_be_edited %] >+ [% IF Koha.Preference('LocalCoverImages') OR Koha.Preference('OPACLocalCoverImages') %] >+ <div class="btn-group"> >+ <a class="btn btn-default btn-xs" href="/cgi-bin/koha/cataloguing/additem.pl?op=edititem&biblionumber=[% item.biblionumber | html %]&itemnumber=[% item.itemnumber | html %]#edititem"><i class="fa fa-pencil"></i> Edit</a><a class="btn btn-default btn-xs dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a> >+ <ul class="dropdown-menu pull-right"> >+ <li><a href="/cgi-bin/koha/tools/upload-cover-image.pl?itemnumber=[% item.itemnumber | uri %]&filetype=image"><i class="fa fa-upload"></i> Upload image</a></li> >+ </ul> >+ </div> <!-- /.btn-group --> >+ [% ELSE %] >+ <a class="btn btn-default btn-xs" href="/cgi-bin/koha/cataloguing/additem.pl?op=edititem&biblionumber=[% item.biblionumber | html %]&itemnumber=[% item.itemnumber | html %]#edititem"><i class="fa fa-pencil"></i> Edit</a> >+ [% END # /IF LocalCoverImages %] >+ [% END # /IF item.can_be_edited %] >+ [% IF bundlesEnabled %] >+ <button class="btn btn-default btn-xs details-control"><i class="fa fa-folder"></i> Manage bundle ([% item.bundled | html %]|[% item.bundled_lost | html %])</button> >+ [% END %] >+ </td> <!-- /.actions --> >+ [% END # /IF CAN_user_editcatalogue_edit_items %] >+ </tr> >+ [% END # /FOREACH item %] >+ </tbody> >+ </table> <!-- /.items_table --> >+ [% END %][% # /BLOCK items_table %] > >+ [% WRAPPER tab_panels %] > [% IF Koha.Preference('EnableItemGroups') %] >- <div role="tabpanel" class="tab-pane" id="item_groups"> >+ [% WRAPPER tab_panel tabname="item_groups" %] > [% IF CAN_user_editcatalogue_manage_item_groups %] > <div class="item_groups_table_table_controls"> > <a href="#" class="item-group-create btn btn-default btn-xs"><i class="fa fa-plus"></i> New item group</a> >@@ -789,10 +799,10 @@ > </tr> > </thead> > </table> >- </div> <!-- /.tab-pane --> >+ [% END # /tab_panel#item_groups %] > [% END # /IF EnableItemGroups %] > >- <div role="tabpanel" class="tab-pane" id="holdings"> >+ [% WRAPPER tab_panel tabname="holdings" %] > [% IF ( Koha.Preference('NovelistSelectStaffEnabled') && Koha.Preference('NovelistSelectStaffProfile') && Koha.Preference('NovelistSelectStaffView') == 'above' ) %] > <span class="results_summary NovelistSelect" style="display:none;"> > <span class="label">Novelist Select: </span> >@@ -834,20 +844,20 @@ > <div data-novelist-novelistselect=[% normalized_isbn | html %]></div> > </span> > [% END %] >- </div> <!-- /.tab-pane#holdings --> >+ [% END # /tab_panel#holdings %] > > [% IF (SeparateHoldings) %] >- <div role="tabpanel" class="tab-pane" id="otherholdings"> >+ [% WRAPPER tab_panel tabname="otherholdings" %] > [% IF (otheritemloop.size) %] > [% PROCESS items_table tab="otherholdings" items=otheritemloop %] > [% ELSE %] > <span class="nootheritems">No other items.</span> > [% END %] >- </div> <!-- /.tab-pane#otherholdings --> >+ [% END # /tab_panel#otherholdings %] > [% END %] > > [% IF ( MARCNOTES ) %] >- <div role="tabpanel" class="tab-pane" id="description"> >+ [% WRAPPER tab_panel tabname="description" %] > <div class="content_set"> > [% FOREACH MARCNOTE IN MARCNOTES %] > <p> >@@ -859,11 +869,11 @@ > </p> > [% END # /FOREACH MARCNOTE %] > </div> <!-- /.content_set --> >- </div> <!-- /.tab-pane#description --> >+ [% END # /tab_panel#description %] > [% END # /IF MARCNOTES %] > > [% IF ComponentParts && ComponentParts.size %] >- <div role="tabpanel" class="tab-pane" id="components"> >+ [% WRAPPER tab_panel tabname="components" %] > <div class="content_set"> > <table> > [% FOR PART IN ComponentParts %] >@@ -878,11 +888,11 @@ > <p>Only [% ComponentParts.size | html %] results are shown: <a href="/cgi-bin/koha/catalogue/search.pl?q=[% ComponentPartsQuery | url %]"/>show all component parts</a></p> > [% END %] > </div> <!-- /.content_set --> >- </div> <!-- /.tab-pane#components --> >+ [% END # /tab_panel#components %] > [% END # /IF ComponentParts %] > > [% IF ( subscriptionsnumber ) %] >- <div role="tabpanel" class="tab-pane" id="subscriptions"> >+ [% WRAPPER tab_panel tabname="subscriptions" %] > <div id="catalogue_detail_subscriptions"> > <h2>This is a serial subscription</h2> > <p> (There are [% subscriptionsnumber | html %] subscriptions associated with this title).</p> >@@ -936,11 +946,11 @@ > <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscription.subscriptionid | uri %]">Subscription details</a> > [% END # /FOREACH subscription %] > </div> <!-- /#catalogue_detail_subscriptions --> >- </div> <!-- /.tab-pane#subscriptions --> >+ [% END # /tab_panel#subscriptions %] > [% END # /IF ( subscriptionsnumber %] > > [% IF Koha.Preference('AcquisitionDetails') %] >- <div role="tabpanel" class="tab-pane" id="acq_details"> >+ [% WRAPPER tab_panel tabname="acq_details" %] > [% IF orders.count %] > <table id="orders"> > <thead> >@@ -1037,11 +1047,11 @@ > [% ELSE %] > <span class="noorder">There is no order for this bibliographic record.</span> > [% END # /IF orders.count %] >- </div> <!-- /.tab-pane#acq_details --> >+ [% END # /tab_panel#acq_details %] > [% END # /IF AcquisitionDetails %] > > [% IF suggestions.count %] >- <div role="tabpanel" class="tab-pane" id="suggestion_details"> >+ [% WRAPPER tab_panel tabname="suggestion_details" %] > [% IF nb_archived_suggestions > 0 %] > <p>[% tnpx('pluralization', 'There is one archived suggestion.', 'There are {count} archived suggestions.', nb_archived_suggestions, { count = nb_archived_suggestions }) | $raw %] > [% END %] >@@ -1121,12 +1131,12 @@ > [% END # /FOREACH suggestion %] > </tbody> > </table> <!-- /#suggestions --> >- </div> <!-- /.tab-pane#suggestion_details --> >+ [% END # /tab_panel#suggestion_details %] > [% END # /IF suggestions.count %] > > [% IF ( FRBRizeEditions ) %] > [% IF ( XISBNS ) %] >- <div role="tabpanel" class="tab-pane" id="editions" >+ [% WRAPPER tab_panel tabname="editions" %] > <h4>Editions</h4> > <table> > [% FOREACH XISBN IN XISBNS %] >@@ -1157,12 +1167,12 @@ > </tr> > [% END # /FOREACH XISBN %] > </table> >- </div> <!-- /.tab-pane#editions --> >+ [% END # /tab_panel#editions %] > [% END # IF ( XISBNS ) %] > [% END # /IF ( FRBRizeEditions ) %] > > [% IF ( ( Koha.Preference('CatalogConcerns') || Koha.Preference('OpacCatalogConcerns') ) && CAN_user_editcatalogue_edit_catalogue ) %] >- <div role="tabpanel" class="tab-pane" id="concerns"> >+ [% WRAPPER tab_panel tabname="concerns" %] > <fieldset class="action" style="cursor:pointer;"> > <a id="hideResolved"><i class="fa fa-minus-square"></i> Hide resolved</a> > | <a id="showAll"><i class="fa fa-bars"></i> Show all</a> >@@ -1178,11 +1188,11 @@ > </tr> > </thead> > </table> <!-- /#table_concerns --> >- </div> <!-- /.tab-pane#concerns --> >+ [% END # /tab_panel#concerns %] > [% END # /IF CatalogConcerns %] > > [% IF ( LocalCoverImages ) %] >- <div role="tabpanel" class="tab-pane" id="images"> >+ [% WRAPPER tab_panel tabname="images" %] > [% IF localimages.count %] > <p>Click on an image to view it in the image viewer</p> > <ul class="thumbnails"> >@@ -1206,11 +1216,11 @@ > <p>Upload an image file: <a class="btn btn-default btn-xs" href="/cgi-bin/koha/tools/upload-cover-image.pl?biblionumber=[% biblionumber | uri %]&filetype=image"><i class="fa fa-upload" aria-hidden="true"></i> Upload</a> > </p> > [% END %] >- </div> <!-- /.tab-pane#images --> >+ [% END # /tab_panel#images %] > [% END # /IF ( LocalCoverImages ) %] > > [% IF ( HTML5MediaEnabled ) %] >- <div role="tabpanel" class="tab-pane" id="html5media"> >+ [% WRAPPER tab_panel tabname="html5media" %] > [% FOREACH HTML5MediaSet IN HTML5MediaSets %] > <p> > [% IF HTML5MediaSet.is_youtube %] >@@ -1223,23 +1233,23 @@ > [% END %] > </p> > [% END # /FOREACH HTML5MediaSet %] >- </div> <!-- /.tab-pane#html5media --> >+ [% END # /tab_panel#html5media %] > [% END # /IF ( HTML5MediaEnabled ) %] > > [% IF ( Koha.Preference('NovelistSelectStaffEnabled') && Koha.Preference('NovelistSelectStaffProfile') && Koha.Preference('NovelistSelectStaffView') == 'tab' ) %] >- <div role="tabpanel" class="tab-pane" id="NovelistSelect" class="novelistSelect"> >+ [% WRAPPER tab_panel tabname="NovelistSelect" %] > <div data-novelist-novelistselect=[% normalized_isbn | html %]></div> >- </div> >+ [% END # /tab_panel#NovelistSelect %] > [% END %] > > [% FOREACH plugins_intranet_catalog_biblio_tab IN plugins_intranet_catalog_biblio_tabs %] >- <div role="tabpanel" class="tab-pane" id="[% plugins_intranet_catalog_biblio_tab.id | html %]"> >+ [% WRAPPER tab_panel tabname= plugins_intranet_catalog_biblio_tab.id %] > [% plugins_intranet_catalog_biblio_tab.content | $raw %] >- </div> >+ [% END # /tab_panel#plugin %] > [% END %] > >- </div><!-- /tab-content --> >- </div><!-- /#bibliodetails.toptabs --> >+ [% END # /WRAPPER tab_panels %] >+ [% END # /WRAPPER tabs %] > > <div id="export" style="margin-top: 1em;"> > <form method="get" action="/cgi-bin/koha/catalogue/export.pl"> >@@ -1865,14 +1875,14 @@ > // Pick details tab to display by default > [% IF count == 0 %] > [% IF ( Koha.Preference('HTML5MediaEnabled') == 'staff' or Koha.Preference('HTML5MediaEnabled') == 'both' ) && HTML5MediaSets.size %] >- $(".nav-tabs a[href='#html5media']").tab("show"); >+ $(".nav-tabs a[href='#html5media_panel']").tab("show"); > [% ELSIF ComponentParts && ComponentParts.size %] >- $(".nav-tabs a[href='#components']").tab("show"); >+ $(".nav-tabs a[href='#components_panel']").tab("show"); > [% ELSE %] >- $(".nav-tabs a[href='#holdings']").tab("show"); >+ $(".nav-tabs a[href='#holdings_panel']").tab("show"); > [% END %] > [% ELSE %] >- $(".nav-tabs a[href='#holdings']").tab("show"); >+ $(".nav-tabs a[href='#holdings_panel']").tab("show"); > [% END %] > $('#search-form').focus(); > $('.thumbnails > li > .remove').click(function() { >@@ -1920,10 +1930,11 @@ > '[% Koha.Preference('NovelistSelectPassword') | html %]', > function(d){ > if ( d.length > 0 ){ //If no content >- $(".NovelistSelect").show(); >+ $(".NovelistSelect, .NovelistSelect_tab").css("display","block"); > } > }); > [% END # /IF NovelistSelectStaffEnabled %] >+ > $(".print-label").on("click", function(e){ > e.preventDefault(); > link = $(this).attr("href"); >-- >2.30.2
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 33526
:
151489
|
167352
|
167360
|
168726