Koha/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-results.tt
Marcel de Rooy 2b0e73b9e1 Bug 17530: Use may_article_request method in opac-search
If you enable pref ArticleRequests, until now all search results got the
'Request article' link. This patch tries to improve the situation by
using the new sub with the itemtype of the search result.

In most cases the number of links will drastically decrease. It may still
be possible sometimes that a link is shown while it effectively is not
possible, but we do not get the performance burden of determining that and
going through all items.

Test plan:
[1] Look for two borrowers P1 and P2 within categories C1 resp. C2.
[2] Look for two biblios B1 and B2 with default item types I1 resp. I2.
    (See 942c in case of MARC21.)
[3] Make sure that no circ rules allow article requests. Enable the pref.
[4] Add/modify circ rule category=C1, itemtype=I1, art_req=yes.
    Log out. Search for B1 and B2, verify that only B1 has AR link.
    Log in as P1. Verify that only B1 has AR link.
    Log in as P2. Verify that no biblio has AR link.
[5] Add/modify circ rule category=C2, itemtype=I2, art_req=item_only.
    Log out. Search for B1 and B2, verify that both have AR links.
    Log in as P1. Verify that only B1 has AR link.
    Log in as P2. Verify that only B2 has AR link.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2018-09-07 13:16:06 +00:00

989 lines
64 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE Koha %]
[% SET TagsShowEnabled = ( ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsShowOnList ) %]
[% SET TagsInputEnabled = ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'TagsEnabled' ) == 1 ) && TagsInputOnList ) %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog &rsaquo;
[% IF ( searchdesc ) %]
Results of search [% IF ( query_desc ) %]for '[% query_desc | html %]'[% END %][% IF ( limit_desc ) %]&nbsp;with limit(s):&nbsp;'[% limit_desc | html %]'[% END %]
[% ELSE %]
You did not specify any search criteria.
[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% IF ( OpacStarRatings == 'all' || Koha.Preference('Babeltheque') ) %]
[% BLOCK cssinclude %]
[% Asset.css("css/jquery.rating.css") | $raw %]
[% END %]
[% END %]
<link rel="alternate" type="application/rss+xml" title="[% LibraryName | html %] Search RSS feed" href="[% OPACBaseURL | html %]/cgi-bin/koha/opac-search.pl?[% query_cgi | url %][% limit_cgi |uri %]&amp;count=[% countrss |uri %]&amp;sort_by=acqdate_dsc&amp;format=rss2" />
</head>
[% INCLUDE 'bodytag.inc' bodyid='results' bodyclass='scrollto' %]
[% INCLUDE 'masthead.inc' %]
<div class="main">
<ul class="breadcrumb">
<li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">&rsaquo;</span></li>
<li>
[% IF ( searchdesc ) %]
<a href="#">Results of search [% IF ( query_desc ) %]for '[% query_desc | html %]'[% END %][% IF ( limit_desc ) %]&nbsp;with limit(s):&nbsp;'[% limit_desc | html %]'[% END %]</a>
[% ELSE %]
<a href="#">You did not specify any search criteria</a>
[% END %]
</li>
</ul>
[% UNLESS ( total ) %]
<div class="container-fluid maincontent">
<div class="row-fluid">
<div class="span12">
<strong>No results found!</strong>
<p>
[% IF ( searchdesc ) %]
No results found for that in [% LibraryName | html %] catalog. <a href="[% OPACBaseURL | html %]/cgi-bin/koha/opac-search.pl?[% query_cgi | url %][% limit_cgi | html | url %]&amp;format=rss2" class="rsssearchlink noprint"><img src="[% interface | html %]/[% theme | html %]/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" class="rsssearchicon"/></a>
[% ELSE %]
You did not specify any search criteria.
[% END %]
</p>
[% IF ( ReturnPath ) %]
<div class="returntosearch">
<p><a href="[% ReturnPath | html %]">Return to the last advanced search</a></p>
</div>
[% END %]
[% IF ( OPACNoResultsFound ) %]
<div id="noresultsfound">
[% OPACNoResultsFound | $raw %]
</div>
[% END %]
</div> <!-- / .span12 -->
</div> <!-- / .row-fluid -->
</div> <!-- / .container-fluid -->
[% END # / UNLESS searchdesc %]
<div id="maincontent" class="container-fluid">
<div class="row-fluid">
[% IF ( opacfacets && total ) %]
<div class="span2">
<div id="facetcontainer">
<!-- FACETS START -->
[% INCLUDE 'opac-facets.inc' %]
<!-- FACETS END -->
</div>
</div>
[% END %]
[% IF ( opacfacets && total ) %]<div class="span10 maincontent">[% ELSE %]<div class="span12 maincontent">[% END %]
[% IF ( searchdesc ) %]
<p id="numresults">
[% IF ( total ) %]<strong>Your search returned [% total | html %] results.</strong>
[% IF ( related ) %]
(related searches:
[% FOREACH relate IN related %]
[% relate.related_search | html %]
[% END %]
).
[% END %]
<a href="[% OPACBaseURL | html %]/cgi-bin/koha/opac-search.pl?[% query_cgi | url %][% limit_cgi |html | url %]&amp;count=[% countrss | html %]&amp;sort_by=acqdate_dsc&amp;format=rss2" class="rsssearchlink noprint"><img src="[% interface | html %]/[% theme | html %]/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" class="rsssearchicon"/></a>
[% END # / IF total %]
</p>
[% END # / IF searchdesc %]
<div id="userresults">
[% IF ( DidYouMean ) %]
<div id="didyoumean">Not what you expected? Check for <a href="/cgi-bin/koha/svc/suggestion?render=standalone&amp;q=[% querystring |uri %]">suggestions</a></div>
[% END %]
<div id="top-pages">[% INCLUDE 'page-numbers.inc' %]</div>
[% IF ( koha_spsuggest ) %]
Did you mean:
<ul style="list-style: none;">
[% FOREACH SPELL_SUGGES IN SPELL_SUGGEST %]
<li>
<a href="/cgi-bin/koha/opac-search.pl?q=[% SPELL_SUGGES.spsuggestion | html %]">[% SPELL_SUGGES.spsuggestion | html %]</a>
</li>
[% END %]
</ul>
[% END # / IF koha_spsuggest%]
[% IF ( total ) %]
[% IF ( ReturnPath ) %]
<div class="returntosearch">
<p><a href="[% ReturnPath | html %]">Return to the last advanced search</a></p>
</div>
[% END %]
[% END %]
[% IF ( query_error ) %]
<div class="dialog alert">
<h4>Error:</h4>
[% query_error | html %]
</div>
[% END %]
<!-- Search Results Table -->
[% IF ( total ) %]
<div class="searchresults">
<form action="/cgi-bin/koha/opac-search.pl" method="get" name="bookbag_form" id="bookbag_form" class="checkboxed">
[% IF ( searchdesc ) %]
[% FOREACH QUERY_INPUT IN QUERY_INPUTS %]
<input type="hidden" name="[% QUERY_INPUT.input_name | html %]" value="[% QUERY_INPUT.input_value | html %]"/>
[% END %]
[% FOREACH LIMIT_INPUT IN LIMIT_INPUTS %]
<input type="hidden" name="[% LIMIT_INPUT.input_name | html %]" value="[% LIMIT_INPUT.input_value | html %]"/>
[% END %]
[% END # IF /searchdesc %]
<div id="toolbar" class="toolbar clearfix">
[% IF ( OpacHighlightedWords ) %]
<div class="highlight_controls noprint">
<a href="#" class="highlight_toggle" id="highlight_toggle_off">Unhighlight</a>
<a href="#" class="highlight_toggle" id="highlight_toggle_on">Highlight</a>
</div>
[% END %]
[% UNLESS tag %]
<div class="sort_by pull-right">
<select id="sort_by" class="resort" name="sort_by"> [% INCLUDE 'resort_form.inc' %] </select>
<input type="submit" class="btn btn-small clearfix" id="sortsubmit" value="Go" />
</div>
[% END %]
</div> <!-- / #toolbar -->
<div id="selections-toolbar" class="toolbar noprint">
<!-- checkall, clearall are now needed for placehold -->
<span class="checkall"></span>
<span class="clearall"></span> <span class="sep">|</span>
<span class="links">
[% IF ( ( Koha.Preference( 'opacbookbag' ) == 1 ) || ( Koha.Preference( 'virtualshelves' ) == 1 ) ) %]
<span class="addto"></span>
[% END %]
<span id="placehold"><!-- input class="submit" type="submit" value="Place Hold"/ --></span>
[% IF ( TagsInputEnabled && loggedinusername ) %]
<span id="tagsel_span">
<input id="tagsel_tag" class="disabled" type="submit" value="Tag"/>
</span>
<div id="tagsel_form" style="display:none">
<label for="tagsel_new">New tag:</label>
<input name="tagsel_new" id="tagsel_new" maxlength="100" />
<input id="tagsel_button" name="tagsel_button" class="tagsel_button btn btn-small" title="Add" type="submit" value="Add" />
<a href="#" id="tagsel_cancel">(done)</a>
</div>
<div id="tagsel_status" class="tagsel_tatus" style="display:none;">
Tag status here.
</div>
[% END %]
</span> <!-- / .links -->
</div> <!-- / #selections-toolbar -->
<!-- TABLE RESULTS START -->
<table class="table table-striped">
<!-- Actual Search Results -->
[% FOREACH SEARCH_RESULT IN SEARCH_RESULTS %]
<tr>
[% # Cell 1: Checkbox %]
<td class="select selectcol">
[% IF Koha.Preference( 'opacbookbag' ) == 1 %]
<input type="checkbox" class="cb" id="bib[% SEARCH_RESULT.biblionumber | html %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber | html %]" /> <label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
[% ELSE %]
[% IF Koha.Preference( 'virtualshelves' ) == 1 %]
<input type="checkbox" class="cb" id="bib[% SEARCH_RESULT.biblionumber | html %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber | html %]" /> <label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
[% ELSE %]
[% IF Koha.Preference( 'RequestOnOpac' ) == 1 %]
[% UNLESS ( SEARCH_RESULT.norequests ) %]
[% IF Koha.Preference( 'opacuserlogin' ) == 1 %]<input type="checkbox" class="cb" id="bib[% SEARCH_RESULT.biblionumber | html %]" name="biblionumber" value="[% SEARCH_RESULT.biblionumber | html %]" /> <label for="bib[% SEARCH_RESULT.biblionumber | html %]"></label>
[% END %]
[% END %]
[% END # IF RequestOnOpac %]
[% END # IF virtualshelves %]
[% END # IF opacbookbag%]
</td>
[% # Cell 2: Show result number if OpacHiddenItems is empty %]
<td class="select selectcol">
[% UNLESS suppress_result_number %]
[% SEARCH_RESULT.result_number | html %].
[% END %]
</td>
[% IF ( !item_level_itypes && !noItemTypeImages ) %]
[% # Cell 3: Show item type image %]
<td class="itypecol">
[% IF ( SEARCH_RESULT.imageurl ) %]
<img src="[% SEARCH_RESULT.imageurl | html %]" title="[% SEARCH_RESULT.description | html %]" alt="[% SEARCH_RESULT.description | html %]" />
[% END %]
[% IF ( SEARCH_RESULT.score_avg ) %]
<img src="[% themelang | html %]/../images/bonus.png" title="bonus" style="max-height: 35px;"/>
[% END %]
</td>
[% END %]
[% # Cell 4: Search result details and controls %]
<td class="bibliocol">
<div class="coverimages itemtype_[% SEARCH_RESULT.itemtype | html %]">
<a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]">
[% IF ( OPACLocalCoverImages ) %]
<span title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.biblionumber | html %]" id="local-thumbnail[% loop.count | html %]"></span>
[% END %]
[% IF ( OPACAmazonCoverImages ) %]
[% IF ( SEARCH_RESULT.normalized_isbn ) %]
<span title="[% SEARCH_RESULT.biblionumber | html %]" id="amazon-thumbnail[% loop.count | html %]"><img src="https://images-na.ssl-images-amazon.com/images/P/[% SEARCH_RESULT.normalized_isbn | html %].01.TZZZZZZZ.jpg" alt="" class="item-thumbnail" /></span>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF ( SyndeticsEnabled && SyndeticsCoverImages ) %]
[% IF ( SEARCH_RESULT.normalized_isbn || SEARCH_RESULT.normalized_upc || SEARCH_RESULT.normalized_oclc ) %]
<span title="[% SEARCH_RESULT.biblionumber | html %]" id="syndetics-thumbnail[% loop.count | html %]"><img src="https://secure.syndetics.com/index.aspx?isbn=[% SEARCH_RESULT.normalized_isbn | html %]/SC.GIF&amp;client=[% SyndeticsClientCode | html %]&amp;type=xw10&amp;upc=[% SEARCH_RESULT.normalized_upc | html %]&amp;oclc=[% SEARCH_RESULT.normalized_oclc | html %]" alt="" class="item-thumbnail" /></span>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF ( GoogleJackets ) %]
[% IF ( SEARCH_RESULT.normalized_isbn ) %]
<span title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.normalized_isbn | html %]" id="gbs-thumbnail[% loop.count | html %]"></span>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF ( Koha.Preference('Coce') && Koha.Preference('CoceProviders') ) %]
[% coce_id = SEARCH_RESULT.normalized_ean || SEARCH_RESULT.normalized_isbn | html %]
[% IF ( coce_id ) %]
<span title="[% SEARCH_RESULT.biblionumber |url %]" 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 SEARCH_RESULT.normalized_isbn %]
<span title="[% SEARCH_RESULT.biblionumber | html %]" class="[% SEARCH_RESULT.normalized_isbn | html %]" id="openlibrary-thumbnail[% loop.count | html %]"></span>
[% ELSE %]
<span class="no-image">No cover image available</span>
[% END %]
[% END %]
[% IF ( BakerTaylorEnabled && !BakerTaylorBookstoreURL ) %]
[% bt_id = ( SEARCH_RESULT.normalized_upc || SEARCH_RESULT.normalized_isbn ) | html %]
[% 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 %]
</a>
[% IF ( BakerTaylorEnabled && BakerTaylorBookstoreURL ) %]
[% bt_id = ( SEARCH_RESULT.normalized_upc || SEARCH_RESULT.normalized_isbn ) | html %]
[% IF ( bt_id ) %]
<a href="https://[% BakerTaylorBookstoreURL | html %][% bt_id | html %]">
<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 ( IDreamBooksResults && SEARCH_RESULT.normalized_isbn ) %]
<div class="idbresult" style="display: none;">
[% IF ( IDreamBooksReviews ) %]
<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]#idb_critic_reviews">
[% ELSE %]
<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]">
[% END %]
[% SEARCH_RESULT.normalized_isbn | html %]</a>
</div>
[% END %]
</div>
[% IF ( COinSinOPACResults && SEARCH_RESULT.coins ) %]
<!-- COinS / Openurl -->
<span class="Z3988" title="[% SEARCH_RESULT.coins | html %]"></span>
[% END %]
[% IF ( OPACXSLTResultsDisplay ) %]
[% SEARCH_RESULT.XSLTResultsRecord | $raw %]
[% ELSE %]
[% IF ( BiblioDefaultViewmarc ) %]
<a class="title" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
[% ELSE %]
[% IF ( BiblioDefaultViewisbd ) %]
<a class="title" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
[% ELSE %]
<a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
[% END %]
[% END %]
[% IF ( SEARCH_RESULT.title ) %]
[% SEARCH_RESULT.title | html %]
[% ELSE %]
No title
[% END %]
[% FOREACH subtitl IN SEARCH_RESULT.subtitle %]
, [% subtitl.subfield | html %]
[% END %]</a>
[% IF ( SEARCH_RESULT.author ) %]
by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% SEARCH_RESULT.author |url %]" title="Search for works by this author" class="author">[% SEARCH_RESULT.author | html %]</a>
[% ELSE %]
&nbsp;
[% END %]
<span class="results_summary publisher">
<span class="label">Publication:</span>
[% IF ( SEARCH_RESULT.place ) %][% SEARCH_RESULT.place | html %] [% END %]
[% IF ( SEARCH_RESULT.publishercode ) %][% SEARCH_RESULT.publishercode | html %][% END %]
[% IF ( SEARCH_RESULT.publicationyear ) %]
[% SEARCH_RESULT.publicationyear | html %]
[% ELSE %]
[% IF ( SEARCH_RESULT.copyrightdate ) %]
[% SEARCH_RESULT.copyrightdate | html %]
[% END %]
[% END %]
[% IF ( SEARCH_RESULT.pages ) %]. [% SEARCH_RESULT.pages | html %][% END %]
[% IF ( SEARCH_RESULT.notes ) %], [% SEARCH_RESULT.notes | html %][% END %]
[% IF ( SEARCH_RESULT.size ) %] [% SEARCH_RESULT.size | html %][% END %]
[% IF ( SEARCH_RESULT.timestamp ) %] <i>(modified on [% SEARCH_RESULT.timestamp | html %])</i>[% END %]
</span>
[% IF ( SEARCH_RESULT.summary ) %]
<span class="result_summary">
[% SEARCH_RESULT.summary | html %]
</span>
[% END %]
[% IF ( SEARCH_RESULT.copyrightdate ) %]
<span class="results_summary date">
<span class="label">Date:</span>
[% SEARCH_RESULT.copyrightdate | html %]
</span>
[% END %]
<span class="results_summary">
<span class="label">Availability:</span>
[% IF ( SEARCH_RESULT.available_items_loop.size() ) %]
<span class="available"><strong>Items available:</strong>
[% FOREACH available_items_loo IN SEARCH_RESULT.available_items_loop %]
[% IF available_items_loo.this_branch %]
<span class="highlight-row-results">
[% ELSE %]
<span>
[% END %]
[% IF ( singleBranchMode ) %]
[% available_items_loo.location | html %]
[% ELSE %]
[% available_items_loo.branchname | html %]
[% END %]
[% IF ( OPACItemsResultsDisplay ) %]
[% UNLESS ( singleBranchMode ) %][% available_items_loo.location | html %][% END %]
[% IF ( available_items_loo.itemcallnumber ) %][<a href="/cgi-bin/koha/opac-search.pl?q=callnum:%22[% available_items_loo.itemcallnumber |url %]%22">[% available_items_loo.itemcallnumber | html %]</a>][% END %]
[% END %]
([% available_items_loo.count | html %]),
</span>
[% END # / FOREACH available_items_loo %]
</span>
[% ELSE %]
[% IF ( SEARCH_RESULT.ALTERNATEHOLDINGS ) %]
[% FOREACH ALTERNATEHOLDING IN SEARCH_RESULT.ALTERNATEHOLDINGS %]
&nbsp;<span id="alternateholdings">[% ALTERNATEHOLDING.holding | html %]</span>,
[% END %]
[% ELSE %]
<span class="unavailable">No items available:</span>
[% END %]
[% END # / IF SEARCH_RESULT.available_items_loop.size %]
<span class="unavailable">
[% IF ( SEARCH_RESULT.onloancount ) %] Checked out ([% SEARCH_RESULT.onloancount | html %]), [% END %]
[% IF ( SEARCH_RESULT.withdrawncount ) %] Withdrawn ([% SEARCH_RESULT.withdrawncount | html %]), [% END %]
[% UNLESS ( SEARCH_RESULT.hidelostitems ) %][% IF ( SEARCH_RESULT.itemlostcount ) %] Lost ([% SEARCH_RESULT.itemlostcount | html %]),[% END %][% END %]
[% IF ( SEARCH_RESULT.damagedcount ) %] Damaged ([% SEARCH_RESULT.damagedcount | html %]),[% END %]
[% IF ( SEARCH_RESULT.orderedcount ) %] On order ([% SEARCH_RESULT.orderedcount | html %]),[% END %]
[% IF ( SEARCH_RESULT.onholdcount ) %] On hold ([% SEARCH_RESULT.onholdcount | html %]),[% END %]
[% IF ( SEARCH_RESULT.intransitcount ) %] In transit ([% SEARCH_RESULT.intransitcount | html %]),[% END %]
</span>
</span> <!-- / .results_summary -->
[% END # / IF OPACXSLTResultsDisplay %]
[% IF ( SEARCH_RESULT.score_avg ) %]
<div class="results_summary">
[% FOREACH i IN [ 1 2 3 4 5 ] %]
[% IF ( SEARCH_RESULT.score_int >= i ) %]
<div class="star-rating rater-[% i | html %] star star-rating-applied star-rating-readonly star-rating-on"><a title="[% i | html %]">[% i | html %]</a></div>
[% ELSE %]
<div class="star-rating rater-[% i | html %] star star-rating-applied star-rating-readonly"><a title="[% i | html %]">[% i | html %]</a></div>
[% END %]
[% END %]
<span id="babeltheque-rating_total_[% SEARCH_RESULT.biblionumber | html %]">&nbsp;&nbsp; [% SEARCH_RESULT.score_avg | html %] / 5 (on [% SEARCH_RESULT.num_scores | html %] rates)</span>
[% IF ( SEARCH_RESULT.num_critics ) %]
<span class="social_data">[% SEARCH_RESULT.num_critics | html %] Internet user critics</span>
[% END %]
[% IF ( SEARCH_RESULT.num_critics_pro ) %]
<span class="social_data">[% SEARCH_RESULT.num_critics_pro | html %] Professional critics</span>
[% END %]
[% IF ( SEARCH_RESULT.num_videos ) %]
<span class="social_data">[% SEARCH_RESULT.num_videos | html %] Video extracts</span>
[% END %]
[% IF ( SEARCH_RESULT.num_quotations ) %]
<span class="social_data">[% SEARCH_RESULT.num_quotations | html %] Quotations</span>
[% END %]
</div> <!-- / .results_summary -->
[% END # / IF SEARCH_RESULT.score_avg %]
[% IF ( LibraryThingForLibrariesID ) %]
<div class="ltfl_reviews"></div>
[% END %]
[% IF ( TagsShowEnabled && SEARCH_RESULT.TagLoop.size ) %]
<div class="results_summary tags">
<span class="label">Tags:</span>
<ul>
[% FOREACH TagLoo IN SEARCH_RESULT.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 %]
[% IF Koha.Preference('virtualshelves') AND SEARCH_RESULT.shelves.count %]
<div class="results_summary shelves">
<span class="label">Lists:</span>
<ul>
[% FOREACH shelf IN SEARCH_RESULT.shelves %]
<li><a href="/cgi-bin/koha/opac-shelves.pl?op=view&amp;shelfnumber=[% shelf.shelfnumber | html %]">[% shelf.shelfname | html %]</a></li>
[%~ UNLESS loop.last %], [% ELSE %].[% END ~%]
[% END %]
</ul>
</span>
</div>
[% END %]
[% IF ( SEARCH_RESULT.searchhighlightblob ) %]
<span class="results_summary">
<span class="label">Match:</span>
[% SEARCH_RESULT.searchhighlightblob | html %]
</span>
[% END %]
[% IF ( OpacStarRatings == 'all' ) %]
<div class="results_summary ratings">
[% SET rating_avg = SEARCH_RESULT.ratings.get_avg_rating() %]
[% rating_avg_int = BLOCK %][% rating_avg | format("%.0f") %][% END %]
[% FOREACH i IN [ 1 2 3 4 5 ] %]
[% IF rating_avg_int == i %]
<input class="star" type="radio" name="rating-[% SEARCH_RESULT.biblionumber | html %]" value="[% i | html %]" checked="checked" disabled="disabled" />
[% ELSE %]
<input class="star" type="radio" name="rating-[% SEARCH_RESULT.biblionumber | html %]" value="[% i | html %]" disabled="disabled" />
[% END %]
[% END %]
[% IF SEARCH_RESULT.ratings.count > 0 %]
<span id="rating_total_[% SEARCH_RESULT.biblionumber | html %]">&nbsp;&nbsp;([% SEARCH_RESULT.ratings.count | html %] votes)</span>
[% ELSE %]
<br />
[% END %]
</div> <!-- / .results_summary -->
[% END # / IF OpacStarRatings %]
<div class="actions-menu noprint">
[% IF Koha.Preference( 'RequestOnOpac' ) == 1 %]
[% UNLESS ( SEARCH_RESULT.norequests ) %]
[% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) %]
<span class="actions"><a class="hold" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]">Place hold</a></span><!-- add back when available 0 holds in queue-->
[% END # / IF opacuserlogin && holdable %]
[% END # UNLESS SEARCH_RESULT.norequests %]
[% END # IF RequestOnOpac %]
[% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) %]
[% IF SEARCH_RESULT.artreqpossible %]
<span class="actions"><a class="article_request" href="/cgi-bin/koha/opac-request-article.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]">Request article</a></span>
[% END %]
[% END %]
[% IF ( TagsInputEnabled ) %]
[% IF ( loggedinusername ) %]
<span class="actions"><a class="tag_add" id="tag_add[% SEARCH_RESULT.biblionumber | html %]" href="#">Add tag</a></span>
<div id="tagform[% SEARCH_RESULT.biblionumber | html %]" class="tag_results_input" style="display:none;">
<label for="newtag[% SEARCH_RESULT.biblionumber | html %]">New tag(s), separated by a comma:</label>
<input type="text" name="newtag[% SEARCH_RESULT.biblionumber | html %]" id="newtag[% SEARCH_RESULT.biblionumber | html %]" class="newtag" maxlength="100" />
<input name="tagbutton" class="btn btn-small tagbutton" title="[% SEARCH_RESULT.biblionumber | html %]" type="submit" value="Add" />
<a class="cancel_tag_add" id="cancel[% SEARCH_RESULT.biblionumber | html %]" href="#">(done)</a>
</div>
<span id="newtag[% SEARCH_RESULT.biblionumber | html %]_status" class="tagstatus" style="display:none;">
Tag status here.
</span>
[% ELSIF ( loop.first ) %]
<span class="actions"><span id="login4tags">Log in to add tags.</span></span>
[% END # IF loggedinusername %]
[% END # if TagsInputEnabled %]
[% IF ( ( Koha.Preference( 'opacuserlogin' ) == 1 ) && loggedinusername && ( Koha.Preference( 'virtualshelves' ) == 1 ) ) %]
<span class="actions"><a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% SEARCH_RESULT.biblionumber | html %]'); return false;">Save to lists</a></span>
[% END %]
[% IF Koha.Preference( 'opacbookbag' ) == 1 %]
[% IF ( SEARCH_RESULT.incart ) %]
<span class="actions"><a class="addtocart cart[% SEARCH_RESULT.biblionumber | html %]" href="#" onclick="addRecord('[% SEARCH_RESULT.biblionumber | html %]'); return false;">In your cart</a> <a class="cartRemove cartR[% SEARCH_RESULT.biblionumber | html %]" href="#" onclick="delSingleRecord('[% SEARCH_RESULT.biblionumber | html %]'); return false;">(remove)</a></span>
[% ELSE %]
<span class="actions"><a class="addtocart cart[% SEARCH_RESULT.biblionumber | html %]" href="#" onclick="addRecord('[% SEARCH_RESULT.biblionumber | html %]'); return false;">Add to cart</a> <a style="display:none;" class="cartRemove cartR[% SEARCH_RESULT.biblionumber | html %]" href="#" onclick="delSingleRecord('[% SEARCH_RESULT.biblionumber | html %]'); return false;">(remove)</a></span>
[% END %]
[% END # / IF opacbookbag %]
</div>
[% INCLUDE "openlibrary-readapi.inc" bib = SEARCH_RESULT %]
</td>
</tr>
[% END # / FOREACH SEARCH_RESULT %]
</table>
</form> <!-- / #bookbag_form -->
<form id="hold_form" name="hold_form" method="get" action="/cgi-bin/koha/opac-reserve.pl">
<!-- The value will be set by holdBiblioNums() in basket.js -->
<input id="hold_form_biblios" type="hidden" name="biblionumbers" value=""/>
</form>
</div> <!-- / .searchresults -->
<div id="bottom-pages">[% INCLUDE 'page-numbers.inc' %]</div>
[% END # / IF total %]
[% IF Koha.Preference( 'suggestion' ) == 1 && ( Koha.Preference( 'AnonSuggestions' ) == 1 || loggedinusername || Koha.Preference( 'ILLModule' ) == 1 ) %]
<div class="suggestion">
Not finding what you're looking for?
<ul>
[% IF Koha.Preference( 'AnonSuggestions' ) == 1 %]
<li>Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add">purchase suggestion</a></li>
[% ELSE %]
[% IF ( loggedinusername ) %]
<li>Make a <a href="/cgi-bin/koha/opac-suggestions.pl?op=add">purchase suggestion</a></li>
[% END %]
[% END %]
[% IF Koha.Preference( 'ILLModule' ) == 1 && loggedinusername %]
<li>Make an <a href="/cgi-bin/koha/opac-illrequests.pl?op=create">Interlibrary loan request</a></li>
[% END %]
</ul>
</div>
[% END %]
</div> <!-- / #userresults -->
</div> <!-- /.span10/12 -->
</div> <!-- / .row-fluid -->
</div> <!-- / .container-fluid -->
</div><!-- / .main -->
[% INCLUDE 'opac-bottom.inc' %]
[% BLOCK jsinclude %]
[% IF ( LibraryThingForLibrariesID ) %]
<script src="https://ltfl.librarything.com/forlibraries/widget.js?id=[% LibraryThingForLibrariesID | html %]&amp;systype=koha"></script>
[% END %]
[% IF ( OpacStarRatings == 'all' || Koha.Preference('Babeltheque') ) %][% Asset.js("lib/jquery/plugins/jquery.rating.js") | $raw %][% END %]
[% IF ( OverDriveEnabled ) %][% Asset.js("js/overdrive.js") | $raw %][% END %]
[% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
[% Asset.js("js/authtoresults.js") | $raw %]
[% IF ( OpacHighlightedWords ) %][% Asset.js("lib/jquery/plugins/jquery.highlight-3.js") | $raw %]
[% END %]<script>
//<![CDATA[
[% IF ( Koha.Preference( 'opacuserlogin' ) == 1 ) && ( Koha.Preference( 'RequestOnOpac' ) == 1 ) %]
function holdMultiple() {
var checkedBiblioNums = ""; // Separated by "/"
var checkedCount = 0;
if(document.bookbag_form.biblionumber.length > 0) {
for (var i=0; i < document.bookbag_form.biblionumber.length; i++) {
if (document.bookbag_form.biblionumber[i].checked) {
checkedBiblioNums += (document.bookbag_form.biblionumber[i].value + "/");
checkedCount++;
}
}
}
if (checkedCount > 0) {
holdBiblioNums(checkedBiblioNums);
} else {
alert(MSG_NO_RECORD_SELECTED);
}
}
function holdBiblioNums(numList) {
// numList: biblio numbers separated by "/"
$("#hold_form_biblios").attr("value", numList);
$("#hold_form").submit();
}[% END %]
[% IF ( TagsInputEnabled && loggedinusername ) %]
function tagSelected() {
var checkedBoxes = $(".searchresults :checkbox:checked");
if ($(checkedBoxes).size() == 0) {
alert(MSG_NO_RECORD_SELECTED);
} else {
$("#tagsel_tag").hide();
$(".resort").hide();
$("#tagsel_form").show();
}
}
function tagCanceled() {
$("#tagsel_form").hide();
$("#tagsel_tag").show();
$(".resort").show();
$("#tagsel_new").val("");
$("#tagsel_status, .tagstatus").empty().hide();
}
function tagAdded() {
var checkedBoxes = $(".searchresults :checkbox:checked");
if ($(checkedBoxes).size() == 0) {
alert(MSG_NO_RECORD_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 = $(".checkboxed input:checkbox:checked");
var controls = $("#selections-toolbar .links a, #selections-toolbar .links input, #selections-toolbar .links select, , #selections-toolbar .links label")
if ($(checkedBoxes).size()) {
$("#selections").html(_("With selected titles: "));
$(controls).removeClass("disabled");
} else {
$("#selections").html(_("Select titles to: "));
$(controls).addClass("disabled");
}
}
[% IF ( OpacHighlightedWords ) %]
var q_array = new Array(); // holds search terms if available
function highlightOff() {
$("td").removeHighlight();
$(".highlight_toggle").toggle();
}
function highlightOn() {
var x;
for (x in q_array) {
q_array[x] = q_array[x].replace(/\w*:([\w])/, "$1");
q_array[x] = q_array[x].toLowerCase();
var myStopwords = "[% Koha.Preference('NotHighlightedWords') | html %]".toLowerCase().split('|');
if ( (q_array[x].length > 0) && ($.inArray(q_array[x], myStopwords) == -1) ) {
$(".title").highlight(q_array[x]);
$(".author").highlight(q_array[x]);
$(".results_summary").highlight(q_array[x]);
}
}
$(".highlight_toggle").toggle();
}
[% END %]
$(document).ready(function(){
[% IF ( OpacHighlightedWords ) %]
$('a.title').each(function() {
$(this).attr("href", $(this).attr("href") + "&query_desc=[% query_desc | uri %]");
});
[% END %]
$(".cb").click(function(){
enableCheckboxActions();
});
enableCheckboxActions();
[% IF ( IDreamBooksResults ) %]
$('.idbresult').each(function() {
var isbn = $(this).children('a').text().replace(/\s*/,'');
var element = this;
if ($.browser.msie && parseInt($.browser.version, 10) >= 8 && window.XDomainRequest) {
// Use Microsoft XDR for IE version 8 or above
var xdr = new XDomainRequest();
xdr.open("get", "https://idreambooks.com/newbooks/api.json?q="+encodeURIComponent(isbn)+"&key=8bf66516232d1b72f3e47df939653e1e");
xdr.onload = function() {
json = 'json = '+xdr.responseText; // the string now looks like.. json = { ... };
eval(json); // json is now a regular JSON object
if(json.total_results > 0 && json.book.rating > 0){
$(element).children('a').html("<img src='"+json.book.to_read_or_not_small+"' alt='"+json.book.title+_(" by ")+json.book.author+"' title='"+_("Rating based on reviews of ")+json.book.title+"'>"+json.book.rating+"%");
$(element).show();
} else {
$(element).remove();
}
}
xdr.send();
} else {
$.getJSON("https://idreambooks.com/newbooks/api.json?q="+encodeURIComponent(isbn)+"&key=8bf66516232d1b72f3e47df939653e1e", function(json){
if(json.total_results > 0 && json.book.rating > 0){
$(element).children('a').html("<img src='"+json.book.to_read_or_not_small+"' alt='"+json.book.title+_(" by ")+json.book.author+"' title='"+_("Rating based on reviews of ")+json.book.title+"'>"+json.book.rating+"%");
$(element).show();
} else {
$(element).remove();
}
});
}
});
[% END %]
var param1 = "";
[% IF ( ( Koha.Preference( 'opacbookbag' ) == 1 ) || ( Koha.Preference( 'virtualshelves' ) == 1 ) || loggedinusername ) %]
param1 += "<span id=\"selections\">"+_("Select titles to: ")+"</span>";
[% END %]
[% IF Koha.Preference( 'opacbookbag' ) == 1 OR Koha.Preference('virtualshelves') %]
param1 += "<select class=\"disabled\" name=\"addto\" id=\"addto\"><option>"+_("Add to...")+"</option>";
[% IF Koha.Preference( 'opacbookbag' ) == 1 %]
param1 += "<option value=\"addtocart\">"+_("Cart")+"<\/option>";
[% END %]
[% IF Koha.Preference('virtualshelves') %]
[% IF loggedinusername AND add_to_some_private_shelves.count %]
param1 += "<optgroup label=\""+_("Your lists:")+"\">";
[% SET number_of_private_shelves = 0 %]
[% FOREACH s IN add_to_some_private_shelves %]
[% IF shelfnumber != s.shelfnumber %]
param1 += "<option id=\"s[% s.shelfnumber | html %]\" value=\"addtolist\">[% s.shelfname | html %]<\/option>";
[% SET number_of_private_shelves = number_of_private_shelves + 1 %]
[% IF number_of_private_shelves == 10 %][% LAST | html %][% END %]
[% END %]
[% END %]
param1 += "<\/optgroup>";
[% END %]
[% IF add_to_some_public_shelves.count %]
param1 += "<optgroup label=\""+_("Public lists:")+"\">";
[% SET number_of_public_shelves = 0 %]
[% FOREACH s IN add_to_some_public_shelves %]
[% IF shelfnumber != s.shelfnumber %]
param1 += "<option id=\"s[% s.shelfnumber | html %]\" value=\"addtolist\">[% s.shelfname | html %]<\/option>";
[% SET number_of_public_shelves = number_of_public_shelves + 1 %]
[% IF number_of_public_shelves == 10 %][% LAST | html %][% END %]
[% END %]
[% END %]
param1 += "<\/optgroup>";
[% END %]
[% IF ( add_to_some_private_shelves and add_to_some_private_shelves.count > 10 ) or ( add_to_some_public_shelves and add_to_some_public_shelves.count > 10 ) %]
param1 += "<option value=\"morelists\">[ "+_("More lists")+" ]<\/option>";
[% END %]
param1 +="<option value=\"newlist\">"+_("[ New list ]")+"<\/option>"
[% END %]
param1 += "<\/select> <input type=\"submit\" class=\"btn btn-small\" value=\""+_("Save")+"\" />";
[% END %]
$('#sortsubmit').hide();
$('.resort').change(function() {
$('#bookbag_form').submit();
});
$("span.clearall").html("<a id=\"CheckNone\" href=\"#\">"+_("Clear all")+"<\/a>");
$("span.checkall").html("<a id=\"CheckAll\" href=\"#\">"+_("Select all")+"<\/a>");
[% IF Koha.Preference( 'opacbookbag' ) == 1 %]
$("span.addto").html(param1);
[% ELSE %]
[% IF ( ( Koha.Preference( 'virtualshelves' ) == 1 ) && loggedinusername ) %]
$("span.addto").html(param1);
[% END %]
[% END %]
[% IF ( ( Koha.Preference( 'opacbookbag' ) == 1 ) || ( Koha.Preference( 'virtualshelves' ) == 1 ) ) %]
[% IF Koha.Preference( 'virtualshelves' ) == 1 %]
$("#addto").on("change",function(){
cartList();
});
$(".addto").find("input:submit").click(function(){
cartList();
return false;
});
[% ELSE %]
$("#addto").on("click",function(){
cartList();
return false;
});
[% END %]
[% END %]
function cartList(){
addtoOption = $("#addto").find("option:selected");
addtoval = addtoOption.val();
if(addtoval == "addtolist"){
var shelfnumber = addtoOption.attr("id").replace("s","");
if (vShelfAdd()) {
Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?selectedshelf='+shelfnumber+'&' + vShelfAdd());
}
return false;
} else if(addtoval == "newlist"){
[% IF ( loggedinusername ) %]if (vShelfAdd()) {
Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?newshelf=1&' + vShelfAdd());
}[% ELSE %]
alert(_("You must be logged in to create or add to lists"));
[% END %]
return false;
} else if(addtoval == "morelists"){
[% IF ( loggedinusername ) %]
if (vShelfAdd()) {
Dopop('/cgi-bin/koha/opac-addbybiblionumber.pl?' + vShelfAdd());
}
[% ELSE %]
alert(_("You must be logged in to create or add to lists"));
[% END %]
return false;
}
if(addtoval == "addtocart" || $("#addto").attr("class") == "addtocart"){
addMultiple();
return false;
}
}
$("#CheckAll").click(function(){
$("#bookbag_form").checkCheckboxes();
enableCheckboxActions();
return false;
});
$("#CheckNone").click(function(){
$("#bookbag_form").unCheckCheckboxes();
enableCheckboxActions();
return false;
});
[% IF ( ( Koha.Preference( 'RequestOnOpac' ) == 1 ) && ( Koha.Preference( 'opacuserlogin' ) == 1 ) && DisplayMultiPlaceHold ) %]
$("#placehold").html("<input class=\"hold disabled\" type=\"submit\" value=\""+_("Place hold")+"\"/>");
$("#placehold").find("input:submit").click(function(){
holdMultiple();
return false;
});
[% END %]
[% IF ( query_desc ) %]
var query_desc = "[% query_desc |replace("'", "\'") |replace('\n', '\\n') |replace('\r', '\\r') | html %]";
var querystring = "[% querystring |replace("'", "\'") |replace('\n', '\\n') |replace('\r', '\\r') | html %]";
[% IF ( OpacHighlightedWords ) %]
q_array = query_desc.split(" ");
// ensure that we don't have "" at the end of the array, which can
// break the highlighter
while (q_array.length > 0 && q_array[q_array.length-1] == "") {
q_array = q_array.splice(0,-1);
}
highlightOn();
$("#highlight_toggle_on" ).hide().click(function() {highlightOn() ;});
$("#highlight_toggle_off").show().click(function() {highlightOff();});
[% END %]
[% IF ( OverDriveEnabled ) %]
var $overdrive_results = $( '<div id="overdrive-results">' + _( 'Searching OverDrive...' ) + ' <img class="throbber" src="[% interface | html %]/lib/jquery/plugins/themes/classic/throbber.gif" /></div>' );
$( '#numresults' ) .append( ' ' )
.append( $overdrive_results );
KOHA.OverDrive.Search( "[% OverDriveLibraryID | html %]", querystring, 1, 0, function( data ) {
if ( data.error ) {
$overdrive_results.html( _( 'Error searching OverDrive collection' ) );
return;
}
if ( data.totalItems ) {
$overdrive_results.html( _( 'Found' ) + ' <a href="/cgi-bin/koha/opac-overdrive-search.pl?q=' + escape( querystring ) + '">' + data.totalItems + ' ' + _( 'results' ) + '</a> ' + _( 'in OverDrive collection' ) );
} else {
$overdrive_results.remove();
}
} );
[% END %]
[% IF ( OpenLibrarySearch ) %]
var $openlibrary_results = $( '<div id="openlibrary-results">' + _( 'Searching Open Library...' ) + ' <img class="throbber" src="[% interface | html %]/lib/jquery/plugins/themes/classic/throbber.gif" /></div>' );
$( '#numresults' ) .append( ' ' )
.append( $openlibrary_results );
KOHA.OpenLibrary.search( querystring, null, function( data ) {
if ( data.error ) {
$openlibrary_results.html( _( 'Error searching OpenLibrary collection' ) );
return;
}
if ( data.numFound > 0 ) {
$openlibrary_results.html( _( 'Found' ) + ' <a href="' + KOHA.OpenLibrary.searchUrl(querystring) + '" target="openlibrary">' + data.numFound + ' ' + _( 'results' ) + '</a> ' + _( 'in OpenLibrary collection' ) );
} else {
$openlibrary_results.remove();
}
} );
[% END %]
[% END %]
[% IF ( TagsInputEnabled && loggedinusername ) %]
$("#tagsel_tag").click(function(){
tagSelected();
return false;
});
$("#tagsel_cancel").click(function(){
tagCanceled();
return false;
});
$("#tagsel_button").click(function(){
tagAdded();
return false;
});
$(".tag_add").click(function(){
var thisid = $(this).attr("id");
thisid = thisid.replace("tag_add","");
$(this).addClass("hidden");
$("#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).removeClass("hidden");
$("#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 OpenLibraryCovers %]KOHA.OpenLibrary.GetCoverFromIsbn();[% END %]
[% IF OPACLocalCoverImages %]KOHA.LocalCover.GetCoverFromBibnumber(false);[% END %]
[% IF ( GoogleJackets ) %]KOHA.Google.GetCoverFromIsbn();[% END %]
[% IF ( Koha.Preference('Coce') && Koha.Preference('CoceProviders') ) %]
KOHA.coce.getURL('[% Koha.Preference('CoceHost') | html %]', '[% Koha.Preference('CoceProviders') | html %]');
[% END %]
[% IF ( DidYouMean ) %]
$("#didyoumean").load("/cgi-bin/koha/svc/suggestion?render=stub&q=[% querystring |uri %]",
function() {
$(this).addClass("dym-loaded");
});
[% END %]
$("input.newtag").on('keydown', function(e){
if (e.keyCode == 13) { e.preventDefault(); }
});
});
//]]>
</script>
[% END %]