Koha/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-shelves.tt
Jonathan Druart 56c2856e26 Bug 12561: Remove non-XSLT views
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-08-16 09:57:04 +02:00

1061 lines
68 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE Koha %]
[% SET PRIVATE = 1 %]
[% SET PUBLIC = 2 %]
[% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && Koha.Preference('TagsShowOnList') ) %]
[% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && Koha.Preference('TagsInputOnList') ) %]
[% SET AdlibrisEnabled = Koha.Preference('AdlibrisCoversEnabled') %]
[% SET AdlibrisURL = Koha.Preference('AdlibrisCoversURL') %]
[% BLOCK delete_shelf %]
<form action="/cgi-bin/koha/opac-shelves.pl" method="post" id="deleteshelf[% shelf.shelfnumber | html %]" class="d-inline">
<input type="hidden" name="op" value="delete" />
<input type="hidden" name="referer" value="list" />
<input type='hidden' name='category' value='[% category | html %]' />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
<button type="submit" class="btn btn-link remove deleteshelf" data-shelfnumber="[% shelf.shelfnumber | html %]" data-shelfname="[% shelf.shelfname | html %]" data-shared="[% shelf.is_shared | html %]" data-count="[% contents.count | html %]">
<i class="fa fa-remove" aria-hidden="true"></i>
[% IF ( context == "list" ) %]
Delete
[% ELSE %]
Delete list
[% END %]
</button>
</form>
[% END %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% IF op == 'view' %]Contents of [% shelf.shelfname | html %][% ELSE %]Your lists[% END %] &rsaquo; [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %][% END %]
</head>
[% IF ( loggedinusername ) %]
[% INCLUDE 'bodytag.inc' bodyid='opac-userlists' bodyclass='scrollto' %]
[% ELSE %]
[% INCLUDE 'bodytag.inc' bodyid='opac-lists' bodyclass='scrollto' %]
[% END %]
[% BLOCK list_permissions %]
<li>
<label for="allow_changes_from">Allow changes to contents from: </label>
<select name="allow_changes_from" id="allow_changes_from" onchange="AdjustRemark()">
[% IF shelf.allow_change_from_owner %]<option value="0">Nobody</option>[% ELSE %]<option value="0" selected="selected">Nobody</option>[% END %]
[% IF shelf.allow_change_from_owner && (( !shelf.is_public && !shelf.is_shared ) || !shelf.allow_change_from_others ) %]
<option value="1" selected="selected">Owner only</option>
[% ELSE %]
<option value="1">Owner only</option>
[% END %]
[% IF shelf.allow_change_from_others %]<option value="2" selected="selected">Anyone seeing this list</option>[% ELSE %]<option value="2">Anyone seeing this list</option>[% END %]
</select>
&emsp; <span id="anyone_remark" style="display:none;color:red;">The "Anyone" permission has no actual effect while this list is strictly private.</span>
</li>
[% END %]
[% INCLUDE 'masthead.inc' %]
<div class="main">
<nav aria-label="breadcrumb">
<ul class="breadcrumb">
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-main.pl">Home</a>
</li>
[% IF ( loggedinusername ) %]
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' patron = logged_in_user %]</a>
</li>
[% END %]
[% IF op != 'list' %]
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-shelves.pl">Lists</a>
</li>
[% ELSE %]
<li class="breadcrumb-item" aria-current="page">
Lists
</li>
[% END %]
[% IF shelf and shelf.is_private %]
[% IF op == 'view' OR op == 'edit_form' %]
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PRIVATE | uri %]">Your lists</a>
</li>
[% ELSE %]
<li class="breadcrumb-item" aria-current="page">
Your lists
</li>
[% END %]
[% ELSIF shelf AND shelf.is_public %]
[% IF op == 'view' %]
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PUBLIC | uri %]">Public lists</a>
</li>
[% ELSE %]
<li class="breadcrumb-item" aria-current="page">
Public lists
</li>
[% END %]
[% END %]
[% IF op == 'view' %]
<li class="breadcrumb-item" aria-current="page">
Contents of &nbsp;<em>[% shelf.shelfname | html %]</em>
</li>
[% END %]
[% IF op == 'add_form' %]
<li class="breadcrumb-item" aria-current="page">
Create new list
</li>
[% END %]
[% IF op == 'edit_form' %]
<li class="breadcrumb-item" aria-current="page">
Edit list &nbsp;<em>[% shelf.shelfname | html %]</em>
</li>
[% END %]
</ul> <!-- / .breadcrumb -->
</nav>
<div class="container-fluid">
<div class="row">
[% IF ( OpacNav||loggedinusername ) %]
<div class="col col-lg-2 order-2 order-lg-1">
<div id="navigation">
[% INCLUDE 'navigation.inc' IsPatronPage=1 %]
</div>
</div>
<div class="col-md-12 col-lg-10 order-1">
[% ELSE %]
<div class="col order-first order-md-first order-lg-2">
[% END %]
<div id="usershelves" class="maincontent">
[% FOR m IN messages %]
[% SWITCH m.type %]
[% CASE 'message' %]
<div class="alert alert-success" role="alert">
[% CASE 'error' %]
<div class="alert alert-danger" role="alert">
[% END %]
[% SWITCH m.code %]
[% CASE 'error_on_update' %]
<span>An error occurred when updating this list.</span>
[% CASE 'error_on_insert' %]
<span>An error occurred when creating this list.</span>
[% CASE 'error_on_delete' %]
<span>An error occurred when deleting this list.</span>
[% CASE 'error_on_add_biblio' %]
<span>The item has not been added to the list. Please check it's not already in the list.</span>
[% CASE 'error_on_remove_share' %]
<span>The share has not been removed.</span>
[% CASE 'success_on_update' %]
<span>List updated.</span>
[% CASE 'success_on_insert' %]
<span>List created.</span>
[% CASE 'success_on_delete' %]
<span>List deleted.</span>
[% CASE 'success_on_add_biblio' %]
<span>The item has been added to the list.</span>
[% CASE 'success_on_remove_biblios' %]
<span>The item has been removed from the list.</span>
[% CASE 'success_on_remove_share' %]
<span>The share has been removed.</span>
[% CASE 'does_not_exist' %]
<span>This list does not exist.</span>
[% CASE 'item_does_not_exist' %]
<span>This item does not exist.</span>
[% CASE 'unauthorized_on_view' %]
<span>You do not have permission to view this list.</span>
[% CASE 'unauthorized_on_insert' %]
<span>You do not have permission to create a new list.</span>
[% CASE 'unauthorized_on_update' %]
<span>You do not have permission to update this list.</span>
[% CASE 'unauthorized_on_delete' %]
<span>You do not have permission to delete this list.</span>
[% CASE 'unauthorized_on_add_biblio' %]
<span>You do not have permission to add a record to this list.</span>
[% CASE 'no_biblio_removed' %]
<span>No record was removed.</span>
[% CASE 'Koha::Exceptions::Virtualshelves::DuplicateObject' %]
<span>An error occurred when creating the list. The name [% shelfname | html %] already exists.</span>
[% CASE 'DBIx::Class::Exception' %]
[% m.msg | html %]
[% CASE %]
[% m.code | html %]
[% m.msg | html %]
[% END %]
</div>
[% END %]
[% IF shelf AND op == 'view' %]
<h1>
[% shelf.shelfname | html %]
<a href="[% OPACBaseURL | url %]/cgi-bin/koha/opac-shelves.pl?rss=1&amp;op=view&amp;shelfnumber=[% shelf.shelfnumber | uri %]" class="rss-list-link noprint" aria-label="Subscribe to this list">
<i class="fa fa-fw fa-rss rsssearchicon" aria-hidden="true" title="Subscribe to this list"></i>
</a>
</h1>
[% IF ( itemsloop ) %]
[% SET contents = shelf.get_contents %]
[% IF ( contents.count ) %]<p>This list contains [% contents.count | html %] titles</p>[% END %]
<div id="floating">
<div id="toolbar" class="toolbar clearfix">
<div class="list-actions">
<a class="btn btn-link newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form"><i class="fa fa-fw fa-plus" aria-hidden="true"></i> New list</a> <span class="sep">|</span>
<div id="download-list" class="btn-group dropdown">
<a id="format" class="btn btn-link dropdown-toggle" data-toggle="dropdown" href="/cgi-bin/koha/opac-downloadshelf.pl?shelfnumber=[% shelf.shelfnumber | html %]"><i class="fa fa-fw fa-download" aria-hidden="true"></i> Download <b class="caret"></b></a>
<div class="dropdown-menu pull-left" role="menu" aria-labelledby="format">
<a role="menuitem" class="dropdown-item download-list" data-format="bibtex" href="#">BibTeX</a>
<a role="menuitem" class="dropdown-item download-list" data-format="isbd" href="#">ISBD</a>
<a role="menuitem" class="dropdown-item download-list" data-format="iso2709" href="#">MARC</a>
<a role="menuitem" class="dropdown-item download-list" data-format="ris" href="#">RIS (Zotero, EndNote, others)</a>
[% FOREACH csv_profile IN csv_profiles %]
<a role="menuitem" class="dropdown-item download-list" data-format="[% csv_profile.export_format_id | html %]" href="#">CSV - [% csv_profile.profile | html %]</a>
[% END %]
</div>
</div>
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
<span class="sendlist"><a href="/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelf.shelfnumber | uri %]" class="btn btn-link send" onclick="open('/cgi-bin/koha/opac-sendshelf.pl?shelfid=[% shelf.shelfnumber | html %]','win_form','scrollbars=yes,resizable=yes,height=400,width=500,top=50,left=100'); return false; "><i class="fa fa-fw fa-envelope" aria-hidden="true"></i> Send list</a></span>
[% END %]
<a class="btn btn-link print-small" target="_blank" href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% shelf.shelfnumber | html %]&sortfield=[% sortfield | html %]&direction=[% direction | uri %]&print=1"><i class="fa fa-fw fa-print" aria-hidden="true"></i> Print list</a>
[% IF can_manage_shelf %]
<span class="sep">|</span>
<form method="get" action="/cgi-bin/koha/opac-shelves.pl" class="d-inline">
<input type="hidden" name="op" value="edit_form" />
<input type="hidden" name="referer" value="view" />
<input type='hidden' name='category' value='[% shelf.category | html %]' />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
<button type="submit" class="btn btn-link editshelf"><i class="fa fa-fw fa-pencil-square-o" aria-hidden="true"></i> Edit list</button>
</form>
[% PROCESS delete_shelf context = "details" %]
[% IF category == PRIVATE && Koha.Preference('OpacAllowSharingPrivateLists') %]
<a href="/cgi-bin/koha/opac-shareshelf.pl?op=invite&shelfnumber=[% shelf.shelfnumber | uri %]" class="btn btn-link sharelist"><i class="fa fa-fw fa-share" aria-hidden="true"></i> Share list</a>
[% END %]
[% ELSIF category == PRIVATE # not manageshelf and private means shared %]
<form action="/cgi-bin/koha/opac-shelves.pl" method="post" id="unshare[% shelf.shelfnumber | html %]" class="d-inline">
<input type="hidden" name="op" value="remove_share" />
<input type="hidden" name="referer" value="list" />
<input type='hidden' name='category' value='[% category | html %]' />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
<button type="submit" class="btn btn-link remove remove_share" data-shelfname="[% shelf.shelfname | html %]" data-shelfnumber="[% shelf.shelfnumber | html %]">
<i class="fa fa-remove" aria-hidden="true"></i> Remove share
</button>
</form>
[% END # /IF can_manage_shelf %]
</div> <!-- /.list-actions -->
<form action="/cgi-bin/koha/opac-shelves.pl" id="sorting-form" class="d-inline sort_by pull-right">
<input type="hidden" name="op" value="view" />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
<label for="sortfield">Sort by: </label>
<select name="sortfield" id="sortfield" class="resort">
<option value="">Default sorting</option>
<optgroup label="Author">
[% IF sortfield == 'author' && direction == 'asc' %]
<option value="author" data-direction="asc" selected="selected">Author (A-Z)</option>
[% ELSE %]
<option value="author" data-direction="asc">Author (A-Z)</option>
[% END %]
[% IF sortfield == 'author' && direction == 'desc' %]
<option value="author" data-direction="desc" selected="selected">Author (Z-A)</option>
[% ELSE %]
<option value="author" data-direction="desc">Author (Z-A)</option>
[% END %]
</optgroup>
<optgroup label="Title">
[% IF sortfield == 'title' && direction == 'asc' %]
<option value="title" data-direction="asc" selected="selected">Title (A-Z)</option>
[% ELSE %]
<option value="title" data-direction="asc">Title (A-Z)</option>
[% END %]
[% IF sortfield == 'title' && direction == 'desc' %]
<option value="title" data-direction="desc" selected="selected">Title (Z-A)</option>
[% ELSE %]
<option value="title" data-direction="desc">Title (Z-A)</option>
[% END %]
</optgroup>
<optgroup label="Call number">
[% IF sortfield == 'itemcallnumber' && direction == 'asc' %]
<option value="itemcallnumber" data-direction="asc" selected="selected">Call number (A-Z)</option>
[% ELSE %]
<option value="itemcallnumber" data-direction="asc">Call number (A-Z)</option>
[% END %]
[% IF sortfield == 'itemcallnumber' && direction == 'desc' %]
<option value="itemcallnumber" data-direction="desc" selected="selected">Call number (Z-A)</option>
[% ELSE %]
<option value="itemcallnumber" data-direction="desc">Call number (Z-A)</option>
[% END %]
</optgroup>
<optgroup label="Copyright date">
[% IF sortfield == 'copyrightdate' && direction == 'asc' %]
<option value="copyrightdate" data-direction="desc" selected="selected">Copyright date (newest to oldest)</option>
[% ELSE %]
<option value="copyrightdate" data-direction="desc">Copyright date (newest to oldest)</option>
[% END %]
[% IF sortfield == 'copyrightdate' && direction == 'desc' %]
<option value="copyrightdate" data-direction="asc" selected="selected">Copyright date (oldest to newest)</option>
[% ELSE %]
<option value="copyrightdate" data-direction="asc">Copyright date (oldest to newest)</option>
[% END %]
</optgroup>
<optgroup label="Date added">
[% IF sortfield == "dateadded" && direction == 'asc' %]
<option value="dateadded" data-direction="desc" selected="selected">Date added (newest to oldest)</option>
[% ELSE %]
<option value="dateadded" data-direction="desc">Date added (newest to oldest)</option>
[% END %]
[% IF sortfield == "dateadded" && direction == 'desc' %]
<option value="dateadded" data-direction="asc" selected="selected">Date added (oldest to newest)</option>
[% ELSE %]
<option value="dateadded" data-direction="asc">Date added (oldest to newest)</option>
[% END %]
</optgroup>
</select>
<input type="submit" class="btn btn-primary btn-sm" id="sort-submit" value="Resort list" />
</form> <!-- /#sorting-form -->
</div> <!-- / #toolbar -->
<div class="selections-toolbar toolbar noprint">
<div class="check_control">
<span class="checkall">
<a id="CheckAll" class="btn btn-link btn-sm" href="#">Select all</a>
</span>
<span class="clearall">
<a id="CheckNone" class="btn btn-link btn-sm" href="#">Clear all</a>
</span>
</div>
<div class="links">
<span class="selections">Select titles to: </span>
[% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'RequestOnOpac' ) == 1 ) ) %]
<span id="placehold">
<a href="#" class="btn btn-link hold tag_hides disabled"><i class="fa fa-fw fa-bookmark" aria-hidden="true"></i> Place hold</a>
</span>
[% END %]
[% IF ( TagsInputEnabled && loggedinusername ) %]
<span id="addtags">
<a id="tagsel_tag" href="#" class="btn btn-link disabled"><i class="fa fa-fw fa-tag" aria-hidden="true"></i> Tag</a>
</span>
<span id="tagsel_form" class="form-inline" style="display:none">
<label for="tagsel_new">New tag(s), separated by a comma:</label>
<input class="form-control form-control-sm" type="text" name="tagsel_new" id="tagsel_new" maxlength="100" />
<input id="tagsel_button" name="tagsel_button" class="tagsel_button btn btn-primary btn-sm" title="tagsel_button" type="submit" value="Add" />
<a href="#" id="tagsel_cancel">Cancel</a>
</span>
[% END %]
[% IF loggedinusername && can_remove_biblios %]
<span id="removeitems"></span>
[% END %]
</div> <!-- / .links -->
</div> <!-- / .selections-toolbar -->
</div> <!-- /#floating -->
<form action="/cgi-bin/koha/opac-shelves.pl" method="post" id="myform" name="myform">
[% IF can_manage_shelf %]
<input type="hidden" name="op" value="remove_biblios" />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
[% END %]
<div class="searchresults">
<table id="listcontents" class="table">
<tbody>
[% FOREACH itemsloo IN itemsloop %]
<tr>
[% IF ( itemsloo.title ) %]
[% check_title = itemsloo.title %]
[% ELSE %]
[% check_title = itemsloo.biblionumber %]
[% END %]
<td class="selectcol"><input type="checkbox" class="cb" name="biblionumber" value="[% itemsloo.biblionumber | html %]" aria-label="[% check_title | html %]"/></td>
[% UNLESS ( item_level_itypes ) %]
<td>
[% UNLESS ( Koha.Preference('OpacNoItemTypeImages') ) %]
<img src="[% itemsloo.imageurl | html %]" alt="[% itemsloo.description | html %]" title="[% itemsloo.description | html %]" />
[% END %]
[% itemsloo.description | html %]
</td>
[% END %]
<td>
<div class="coverimages">
<a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% itemsloo.biblionumber | html %]">
[% IF ( itemsloo.title ) %]
[% img_title = itemsloo.title %]
[% ELSE %]
[% img_title = itemsloo.biblionumber %]
[% END %]
[% IF ( OPACLocalCoverImages ) %]
<span title="[% img_title | html %]" class="[% itemsloo.biblionumber | html %]" id="local-thumbnail[% loop.count | html %]"></span>
[% END %]
[% IF ( AdlibrisEnabled && itemsloo.normalized_isbn ) %]
<img src="[% AdlibrisURL | html %]?isbn=[% itemsloo.normalized_isbn | html %]" class="adlibris-cover" alt="Adlibris cover image" />
[% END %]
[% IF ( OPACAmazonCoverImages ) %]
[% IF ( itemsloo.normalized_isbn ) %]
<span title="[% img_title | html %]" id="amazon-thumbnail[% loop.count | html %]"><img src="https://images-na.ssl-images-amazon.com/images/P/[% itemsloo.normalized_isbn | html %].01.TZZZZZZZ.jpg" alt="" /></span>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
<span title="[% img_title | html %]" id="syndetics-thumbnail[% loop.count | html %]"><img src="https://secure.syndetics.com/index.aspx?isbn=[% itemsloo.normalized_isbn | html %]/SC.GIF&amp;client=[% SyndeticsClientCode | html %]&amp;type=xw10&amp;upc=[% itemsloo.normalized_upc | html %]&amp;oclc=[% itemsloo.normalized_oclc | html %]" alt="" /></span>
[% END %]
[% IF ( GoogleJackets ) %]
[% IF ( itemsloo.normalized_isbn ) %]
<div title="[% img_title | html %]" class="[% itemsloo.normalized_isbn | html %]" id="gbs-thumbnail[% loop.count | html %]"></div>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
[% coce_id = itemsloo.normalized_ean || itemsloo.normalized_isbn %]
[% IF ( coce_id ) %]
<span title="[% img_title | html %]" class="[% coce_id | html %]" id="coce-thumbnail[% loop.count | html %]"></span>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF OpenLibraryCovers %]
[% IF itemsloo.normalized_isbn %]
<span title="[% img_title | html %]" class="[% itemsloo.normalized_isbn | html %]" id="openlibrary-thumbnail[% loop.count | html %]"></span>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
</a> <!-- / .p1 -->
[% IF ( Koha.Preference('BakerTaylorEnabled') && !Koha.Preference('BakerTaylorBookstoreURL') ) %]
[% bt_id = ( itemsloo.normalized_upc || itemsloo.normalized_isbn ) %]
[% IF ( bt_id ) %]
<img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF ( Koha.Preference('BakerTaylorEnabled') && Koha.Preference('BakerTaylorBookstoreURL') ) %]
[% bt_id = ( itemsloo.normalized_upc || itemsloo.normalized_isbn ) %]
[% IF ( bt_id ) %]
<a href="https://[% Koha.Preference('BakerTaylorBookstoreURL') | uri %][% bt_id | uri %]">
<img alt="See Baker &amp; Taylor" src="[% BakerTaylorImageURL | html %][% bt_id | html %]" />
</a>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF Koha.Preference('OPACCustomCoverImages') AND Koha.Preference('CustomCoverImagesURL') %]
[% SET custom_cover_image_url = itemsloo.biblio_object.custom_cover_image_url %]
[% IF custom_cover_image_url %]
[% IF ( itemsloo.BiblioDefaultViewmarc ) %]
<a class="custom_cover_image" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% itemsloo.biblionumber |url %]">
[% ELSE %]
[% IF ( itemsloo.BiblioDefaultViewisbd ) %]
<a class="custom_cover_image" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% itemsloo.biblionumber |url %]">
[% ELSE %]
<a class="custom_cover_image" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% itemsloo.biblionumber |url %]">
[% END %]
[% END %]
<img alt="Cover image" src="[% custom_cover_image_url | url %]" /></a>
[% END %]
[% END %]
</div>
[% itemsloo.XSLTBloc | $raw %]
[% IF ( TagsShowEnabled && itemsloo.TagLoop.size ) %]
<div class="results_summary tags">
<span class="label">Tags:</span>
<ul>
[% FOREACH TagLoo IN itemsloo.TagLoop %]
<li><a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&amp;q=[% TagLoo.term |url %]">[% TagLoo.term | html %]</a> <span class="weight">([% TagLoo.weight_total | html %])</span></li>
[% END %]
</ul>
</div>
[% END %]
[% INCLUDE 'title-actions-menu.inc' items=itemsloo %]
[% INCLUDE "openlibrary-readapi.inc" bib = itemsloo %]
<!-- COinS / Openurl -->
<span class="Z3988" title="[% itemsloo.coins | html %]"></span>
</td>
</tr>
[% END # / FOREACH itemsloop %]
</tbody>
</table> <!-- / #listcontents -->
</div><!-- / .searchresults -->
[% IF ( pagination_bar ) %]
<div class="pages">[% pagination_bar | $raw %]</div>
[% END %]
[% IF can_remove_biblios %]
<input type="hidden" name="op" value="remove_biblios" />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
<input type="hidden" name="modifyshelfcontents" value="1" />
<input type="submit" value="Remove selected items" id="remove-selected" class="btn btn-danger"/>
[% END %]
</form> <!-- /myform -->
[% ELSE %]
<div id="toolbar" class="toolbar clearfix">
<div class="list-actions">
<a class="btn btn-link newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form"><i class="fa fa-fw fa-plus" aria-hidden="true"></i> New list</a>
[% IF can_manage_shelf %]
<span class="sep">|</span>
<form method="get" action="/cgi-bin/koha/opac-shelves.pl" class="d-inline">
<input type="hidden" name="op" value="edit_form" />
<input type="hidden" name="referer" value="view" />
<input type="hidden" name="category" value="[% shelf.category | html %]" />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
<button type="submit" class="btn btn-link editshelf"><i class="fa fa-fw fa-pencil-square-o" aria-hidden="true"></i> Edit list</button>
</form>
[% PROCESS delete_shelf context = "details" %]
[% END %]
</div> <!-- / .list-actions -->
</div> <!-- / #toolbar -->
<div class="alert alert-info">
This list is empty.
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
You can add to your lists from the results of any <a href="opac-main.pl">search</a>.
[% END %]
</div>
[% IF can_manage_shelf %]
<form method="post" action="opac-shelves.pl">
<input type="hidden" name="op" value="delete" />
<input type="hidden" name="referer" value="list" />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]"/>
<input type="submit" class="btn btn-danger" value="Delete this list" onclick="return confirmDelete(MSG_CONFIRM_DELETE_LIST)" />
</form>
[% END %]
[% END # / IF itemsloop %]
[% END # /IF shelf AND op == 'view' %]
[% IF op == 'add_form' OR op == 'edit_form' %]
<form method="post" action="/cgi-bin/koha/opac-shelves.pl">
<fieldset class="rows">
[% IF op == 'add_form' %]
<div id="addshelf">
<legend><h1>Create a new list</h1></legend>
<input type="hidden" name="op" value="add" />
[% ELSE %]
<legend><h1>Editing <em>[% shelf.shelfname | html %]</em></h1></legend>
<input type="hidden" name="op" value="edit" />
<input type="hidden" name="referer" value="[% referer | html %]" />
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
[% END %]
<input type="hidden" name="owner" id="owner" value="[% loggedinusernumber | html %]" />
<ol>
<li>
<label class="required" for="shelfname">List name: </label>
<input type="text" id="shelfname" name="shelfname" maxlength="255" value="[% shelf.shelfname | html %]" required="required" class="focus required"/>
<span class="required">Required</span></li>
<li>
<label for="sortfield" >Sort this list by: </label>
<select name="sortfield" id="sortfield">
[% IF shelf.sortfield == "title" %]
<option value="title" selected="selected">Title</option>
[% ELSE %]
<option value="title">Title</option>
[% END %]
[% IF shelf.sortfield == "author" %]
<option value="author" selected="selected">Author</option>
[% ELSE %]
<option value="author">Author</option>
[% END %]
[% IF shelf.sortfield == "copyrightdate" %]
<option value="copyrightdate" selected="selected">Year</option>
[% ELSE %]
<option value="copyrightdate">Year</option>
[% END %]
[% IF shelf.sortfield == "itemcallnumber" %]
<option value="itemcallnumber" selected="selected">Call number</option>
[% ELSE %]
<option value="itemcallnumber">Call number</option>
[% END %]
[% IF shelf.sortfield == "dateadded" %]
<option value="dateadded" selected="selected">Date added</option>
[% ELSE %]
<option value="dateadded">Date added</option>
[% END %]
</select>
</li>
[% IF Koha.Preference('OpacAllowPublicListCreation') OR category == PUBLIC %]
<li>
<label for="category">Category:</label>
<select name="category" id="category" onchange="AdjustRemark()">
[% IF shelf.is_private %]
<option value="1" selected="selected">Private</option>
[% ELSE %]
<option value="1">Private</option>
[% END %]
[% IF shelf.is_public %]
<option value="2" selected="selected">Public</option>
[% ELSE %]
<option value="2">Public</option>
[% END %]
</select>
[% IF shelf.is_public AND NOT Koha.Preference('OpacAllowPublicListCreation') %]
<span class="hint alert alert-info">The library has disabled the ability for patrons to create new public lists. If you make your list private, you will not be able to make it public again.</span>
[% END %]
</li>
[% END %]
[% INCLUDE list_permissions %]
</ol>
[% UNLESS Koha.Preference('OpacAllowPublicListCreation') OR category == PUBLIC %]
<input type="hidden" name="category" value="[% PRIVATE | html %]" />
[% END %]
</fieldset> <!-- /.rows -->
<fieldset class="action">
<input type="submit" value="Save" class="btn btn-primary" />
[% IF referer == 'view' %]
<a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% shelf.shelfnumber | uri %]" class="cancel">Cancel</a>
[% ELSE %]
<a href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PRIVATE | uri %]" class="cancel">Cancel</a>
[% END %]
</fieldset>
</form>
[% ELSIF op == 'list' %]
<h1>Lists</h1>
<div class="toptabs ui-tabs ui-widget ui-widget-content ui-corner-all">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
[% IF category == PRIVATE %]
<li id="privateshelves_tab" class="ui-state-default ui-corner-top ui-tabs-active ui-state-active"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PRIVATE | html %]">Your lists</a></li>
[% ELSE %]
<li id="privateshelves_tab" class="ui-state-default ui-corner-top"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PRIVATE | html %]">Your lists</a></li>
[% END %]
[% END %]
[% IF category == PUBLIC %]
<li id="publicshelves_tab" class="ui-state-default ui-corner-top ui-tabs-active ui-state-active"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PUBLIC | html %]">Public lists</a></li>
[% ELSE %]
<li id="publicshelves_tab" class="ui-state-default ui-corner-top"><a class="ui-tabs-anchor" href="/cgi-bin/koha/opac-shelves.pl?op=list&amp;category=[% PUBLIC | html %]">Public lists</a></li>
[% END %]
</ul>
[% IF category == PRIVATE %]
<div id="privateshelves" class="ui-tabs-panel ui-widget-content ui-corner-bottom" style="display:block;">
[% ELSE %]
<div id="publicshelves" class="ui-tabs-panel ui-widget-content ui-corner-bottom" style="display:block;">
[% END %]
[% IF category == PRIVATE || Koha.Preference('OpacAllowPublicListCreation') %]
[% IF loggedinusername %]
<div id="toolbar" class="toolbar"><a class="btn btn-link newshelf" href="/cgi-bin/koha/opac-shelves.pl?op=add_form"><i class="fa fa-plus" aria-hidden="true"></i> New list</a></div>
[% ELSE %]
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
<div class="alert alert-info"><a href="/cgi-bin/koha/opac-shelves.pl?op=add_form">Log in to create a new list</a></div>
[% END %]
[% END %]
[% END %]
[% IF shelves.count %]
<table class="table">
[% IF category == PRIVATE %]
<caption class="sr-only">Your lists</caption>
[% ELSIF category == PUBLIC %]
<caption class="sr-only">Public lists</caption>
[% END %]
<thead>
<tr>
<th>List name</th>
<th>Contents</th>
<th>Type</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
[% FOREACH s IN shelves %]
[% SET contents = s.get_contents %]
<tr>
<td><a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% s.shelfnumber | uri %]">[% s.shelfname | html %]</a></td>
<td>[% IF contents.count %][% contents.count | html %] [% IF contents.count == 1 %]item[% ELSE %]items[% END %][% ELSE %]Empty[% END %]</td>
<td>
[% IF s.is_private %]
[% IF s.is_shared %]Shared[% ELSE %]Private[% END %]
[% ELSE %]
Public
[% END %]
</td>
<td>
[% IF s.can_be_managed( loggedinusernumber ) %]
<form action="/cgi-bin/koha/opac-shelves.pl" method="get" class="d-inline">
<input type="hidden" name="shelfnumber" value="[% s.shelfnumber | html %]" />
<input type="hidden" name="category" value="[% s.category | html %]" />
<input type="hidden" name="op" value="edit_form" />
<input type="hidden" name="referer" value="list" />
<button type="submit" class="btn btn-link editshelf"><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Edit</button>
</form>
[% END %]
[% IF s.can_be_deleted( loggedinusernumber ) %]
[% PROCESS delete_shelf shelf = s context = "list" %]
[% END %]
[% IF s.is_private AND s.can_be_managed( loggedinusernumber ) AND Koha.Preference('OpacAllowSharingPrivateLists') %]
<a href="/cgi-bin/koha/opac-shareshelf.pl?op=invite&shelfnumber=[% s.shelfnumber | uri %]" class="sharelist btn btn-link"><i class="fa fa-share" aria-hidden="true"></i> Share</a>
[% END %]
[% IF s.is_shared_with( loggedinusernumber ) %]
<form action="opac-shelves.pl" method="post" id="unshare[% s.shelfnumber | html %]" class="d-inline">
<input type="hidden" name="op" value="remove_share" />
<input type="hidden" name="referer" value="list" />
<input type='hidden' name='category' value='[% category | html %]' />
<input type="hidden" name="shelfnumber" value="[% s.shelfnumber | html %]" />
<button type="submit" class="btn btn-link remove remove_share"
data-shelfname="[% s.shelfname | html %]" data-shelfnumber="[% s.shelfnumber | html %]"><i class="fa fa-remove" aria-hidden="true"></i> Remove share</button>
</form>
[% END %]&nbsp;
</td>
</tr>
[% END %]
</tbody>
</table> <!-- /.table -->
<div class="pages">[% pagination_bar | $raw %]</div>
[% ELSE %]
[% IF category == PUBLIC %]
<p>No public lists.</p>
[% ELSIF loggedinusernumber %]
<p>No private lists.</p>
[% END %]
[% END # /IF shelves.count %]
</div>
[% ELSIF NOT loggedinusernumber %]
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]
<div class="alert alert-info"><a href="/cgi-bin/koha/opac-shelves.pl?op=add_form">Log in to create a new list</a></div>
[% END %]
[% END # IF op == 'add_form' OR op == 'edit_form' %]
</div> <!-- / #usershelves -->
</div> <!-- / .col-lg-10/12 -->
</div> <!-- / .row -->
</div> <!-- / .container-fluid -->
</div> <!-- / .main -->
<form method="post" id="download_list" action="/cgi-bin/koha/opac-downloadshelf.pl">
<input type="hidden" name="shelfnumber" value="[% shelf.shelfnumber | html %]" />
<input type="hidden" name="format" id="download_format" value="" />
</form>
[% INCLUDE 'opac-bottom.inc' %]
[% BLOCK jsinclude %]
[% Asset.js("lib/hc-sticky.js") | $raw %]
[% IF OpenLibraryCovers || OpenLibrarySearch %]
[% Asset.js("js/openlibrary.js") | $raw %]
[% END %]
<script>
var MSG_REMOVE_FROM_LIST = _("Are you sure you want to remove these items from the list?");
var MSG_REMOVE_ONE_FROM_LIST = _("Are you sure you want to remove this item from the list?");
var MSG_CONFIRM_DELETE_LIST = _("Are you sure you want to delete this list?");
var MSG_CONFIRM_REMOVE_SHARE = _("Are you sure you want to remove this share?");
[% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'RequestOnOpac' ) == 1 ) ) %]
function holdSelections() {
var checkedBoxes = $("input:checkbox:checked");
if ($(checkedBoxes).size() == 0) {
alert( __("No item was selected") );
} else {
var bibs = "";
$(checkedBoxes).each(function(){
bibs += $(this).val() + "/";
});
document.location = "/cgi-bin/koha/opac-reserve.pl?biblionumbers="+bibs;
}
}
[% END %]
[% IF ( TagsInputEnabled && loggedinusername ) %]
function tagSelected() {
var checkedBoxes = $("input:checkbox:checked");
if ($(checkedBoxes).size()) {
$("#tagsel_tag").hide();
$(".tag_hides").hide();
$("#tagsel_form").show();
} else {
alert( __("No item was selected") );
}
}
function tagCanceled() {
$("#tagsel_form").hide();
$("#tagsel_tag").show();
$(".tag_hides").show();
$("#tagsel_new").val("");
$(".tagstatus").empty().hide();
}
function tagAdded() {
var checkedBoxes = $("input:checkbox:checked");
if (!$(checkedBoxes).size()) {
alert( __("No item was selected") );
return false;
}
var tag = $("#tagsel_new").val();
if (!tag || (tag == "")) {
alert(MSG_NO_TAG_SPECIFIED);
return false;
}
var bibs = [];
for (var i = 0; i < $(checkedBoxes).size(); i++) {
var box = $(checkedBoxes).get(i);
bibs[i] = $(box).val();
}
KOHA.Tags.add_multitags_button(bibs, tag);
return false;
}
[% END %]
function enableCheckboxActions(){
// Enable/disable controls if checkboxes are checked
var checkedBoxes = $(".cb:checked");
if ($(checkedBoxes).size()) {
$(".selections").html(_("With selected titles: "));
$(".selections-toolbar .links a").removeClass("disabled");
} else {
$(".selections").html(_("Select titles to: "));
$(".selections-toolbar .links a").addClass("disabled");
}
}
$(function() {
[% IF Koha.Preference( 'opacbookbag' ) == 1 %]$(".addtocart,.cartRemove").removeClass("hidden");[% END %]
[% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'RequestOnOpac' ) == 1 ) ) %]
$(".selections-toolbar a.hold").click(function(e){
e.preventDefault();
holdSelections();
});
[% END %]
$("a.print").show();
$("#CheckAll").on("click",function(e){
e.preventDefault();
$(".cb").prop("checked", true);
enableCheckboxActions();
});
$("#CheckNone").on("click",function(e){
e.preventDefault();
$(".cb").prop("checked", false);
enableCheckboxActions();
});
$(".cb").click(function(){
enableCheckboxActions();
});
enableCheckboxActions();
[% IF ( TagsInputEnabled && loggedinusername ) %]
var tagAdd = $(".tag_add");
tagAdd.removeClass("hidden");
$("#tagsel_tag").click(function(){
tagSelected();
return false;
});
$("#tagsel_cancel").click(function(){
tagCanceled();
return false;
});
$("#tagsel_button").click(function(){
tagAdded();
return false;
});
tagAdd.click(function(){
var thisid = $(this).attr("id");
thisid = thisid.replace("tag_add","");
$(this).hide();
$("#tagform"+thisid).show();
$("#newtag"+thisid).focus();
$("#newtag"+thisid+"_status").empty().hide();
return false;
});
$(".cancel_tag_add").click(function(){
var thisid = $(this).attr("id");
thisid = thisid.replace("cancel","");
$("#tagform"+thisid).hide();
$("#tag_add"+thisid).show();
$("#newtag"+thisid).val("");
$("#newtag"+thisid+"_status").empty().hide();
return false;
});
$(".tagbutton").click(function(){
var thisid = $(this).attr("title");
var tag = $("#newtag"+thisid).val();
if (!tag || (tag == "")) {
alert(MSG_NO_TAG_SPECIFIED);
return false;
}
KOHA.Tags.add_tag_button(thisid, tag);
return false;
});
[% END %]
[% IF loggedinusername && can_remove_biblios %]
$(".removefromlist").on("click", function(e){
return confirmDelete(MSG_REMOVE_ONE_FROM_LIST);
});
$("#myform").submit(function(){
var checkedBoxes = $(".cb:checked");
var numchecked = $(checkedBoxes).size();
if (numchecked) {
if( numchecked > 1 ){
return confirmDelete(MSG_REMOVE_FROM_LIST);
} else {
return confirmDelete(MSG_REMOVE_ONE_FROM_LIST);
}
} else {
alert( __("No item was selected") );
return false;
}
});
$("#removeitems").html("<a href=\"#\" class=\"btn btn-link disabled removeitems tag_hides\"><i class=\"fa fa-fw fa-remove\" aria-hidden=\"true\"></i> "+_("Remove from list")+"</a>")
.click(function(){
$("#myform").submit();
return false;
});
[% END %]
[% IF OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
[% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
[% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
[% IF ( Koha.Preference('OpacCoce') && Koha.Preference('CoceProviders') ) %]
KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]');
[% END %]
[% IF print %]
window.print();
window.onafterprint = function () {
window.close();
}
setTimeout('window.close()', 1000); // Hack for Chrome < 63
[% END %]
AdjustRemark();
Sticky = $("#floating");
Sticky.hcSticky({
stickTo: "#usershelves",
stickyClass: "floating"
});
[% IF itemsloop %]
sortMenu( $("#sorting-form") );
$("#sortfield").on("change", function(){
$('#sorting-form').submit();
});
[% END %]
$(".deleteshelf").on("click", function(e){
e.preventDefault();
var shelf_name = $(this).data("shelfname");
var shelf_number = $(this).data("shelfnumber");
var is_shared = $(this).data("shared");
var count = $(this).data("count");
var message = "<p><em>" + shelf_name + "</em></p>";
if( count ){
message += "<p>" + _("Items on this list:") + " <strong>" + count + "</strong></p>";
}
if( is_shared ){
message += "<p>" + _("This list is shared. Other users will lose access to it.") + "</p>";
}
confirmModal( message, _("Are you sure you want to delete this list?"), _("Yes, delete"), _("No, do not delete"), function( result ){
if( result ){
$("#deleteshelf" + shelf_number ).submit();
}
}
);
});
$(".remove_share").on("click", function(e){
e.preventDefault();
var shelf_name = $(this).data("shelfname");
var shelf_number = $(this).data("shelfnumber");
confirmModal( shelf_name, _("Are you sure you want to remove sharing? You will no longer have access to the list."), _("Yes, remove sharing"), _("No, do not remove sharing"), function( result ){
if( result ){
$("#unshare" + shelf_number ).submit();
}
}
);
});
$(".download-list").on("click", function(e){
e.preventDefault();
var format = $(this).data("format");
$("#download_format").val( format );
$("#download_list").submit();
});
}); // document.ready
function sortMenu( sorting_form ){
var shelfnumber = sorting_form.find("input[name='shelfnumber']").val();
var sort_link = "/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=" + shelfnumber + "&sortfield=";
var menu = "<div class=\"btn-group dropdown\"><button type=\"button\" class=\"btn btn-link dropdown-toggle\" data-toggle=\"dropdown\" id=\"sortmenu\" aria-haspopup=\"true\" aria-expanded=\"false\"><i class=\"fa fa-sort\" aria-hidden=\"true\"></i> " + _("Sort") + "</span></button><div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"sortmenu\">";
$("#sortfield").children().each(function(){
if( $(this)[0].tagName.toUpperCase() == "OPTION" ){
menu += "<a class=\"dropdown-item\" href=\"" + sort_link + $(this).val() + "\">" + $(this).text() + "</a>";
} else if( $(this)[0].tagName.toUpperCase() == "OPTGROUP" ){
menu += "<span class=\"dropdown-header\">" + $(this).attr("label") + "</span>";
$(this).children().each(function(){
if( $(this)[0].tagName.toUpperCase() == "OPTION" ){
menu += "<a class=\"dropdown-item\" href=\"" + sort_link + $(this).val() + "&direction=" + $(this).data('direction') + "\">" + $(this).text() + "</a>";
}
});
}
});
menu += "</div>";
$(".list-actions").append( menu );
sorting_form.remove();
}
function AdjustRemark() {
var category;
if( $("#category").length > 0 ) {
category = $("#category").val();
} else {
category = "[% category | html %]";
}
var perms = $("#allow_changes_from").val();
if( perms < 2 ) {
$("#anyone_remark").hide();
} else if( category==1 ) {
// If we move to Private (without shares), show Anyone remark
// Note: the number of shares is not tested real-time
[% IF !shelf.is_shared %]
$("#anyone_remark").show();
[% ELSE %]
$("#anyone_remark").hide();
[% END %]
} else { // category==2
$("#anyone_remark").hide();
}
}
</script>
[% END %]