Koha/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/z3950_search.tt
Marcel de Rooy 5233709984 Bug 23302: Less clicks on Z3950 search results
Functional change: Instead of requiring two clicks for each option in
the Actions menu, we add a default action based on previous activity.

NOTE: In order to prioritize MARC and Card preview actions, we will only
remember Import and Order when it is not preceded by a preview. In other
words: If you directly click Import, Import comes back. If you click Card
and Import, Card comes back.

Technical changes:
[1] Combine Preview and Order button on Acquisition Z3950 search.
[2] Use Actions link as default action and add button with caret to open the dropdown.
[3] Keep last action in localStorage (sessionStorage makes not much sense for the popups), prioritizing previews.
[4] Where needed, add title attributes to dropdown links. Use class 'chosen' to differentiate preview popups from import/order actions.
[5] Replace previewMARC by previewData in Authority Z3950 search. Remove duplicate code.
[6] Use link href from template instead of constructing link in javascript.
[7] Removing unused linktools markup from acqui template.

Test plan:
[1] Start on acqui Z3950. Choose Card once from the menu and then Order.
[2] Start auth Z3950. Verify that Default is MARC now. Close popup.
    (Since Card is no option here.)
[3] Start cataloguing Z3950. Verify that you have Card as default.
    Click Import rightaway.
[4] Back to auth Z3950. Verify that Import is default. Click Import.
[5] Back to acqui Z3950. Verify that MARC is default (no Import here).
    Click Order. Go back and verify that Order is now default.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Michal Denar <black23@gmail.com>

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-01-27 14:36:26 +01:00

245 lines
13 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[% USE raw %]
[% USE Asset %]
[% PROCESS 'i18n.inc' %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Acquisitions &rsaquo; [% IF ( opsearch ) %]Order from external source[% ELSE %]Order from external source &rsaquo; Search results[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% USE Koha %]
<style>
tr.selected { background-color : #FFFFCC; } tr.selected td { background-color : transparent !important; } #dataPreview { width : 80%; } @media (max-width: 767px) { #dataPreview { margin: 0; width : auto; } }
</style>
</head>
<body id="acq_z3950_search" class="acq">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'acquisitions-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid | uri %]">[% name | html %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno | uri %]">Basket [% basketno | html %]</a> &rsaquo; [% IF ( opsearch ) %]Order from external source[% ELSE %]<a href="/cgi-bin/koha/acqui/z3950_search.pl?booksellerid=[% booksellerid | uri %]&amp;basketno=[% basketno | uri %]">Order from external source</a> &rsaquo; Search results[% END %]</div>
<div class="main container-fluid">
[% IF ( opsearch ) %]
<form method="post" action="z3950_search.pl" name="f" class="checkboxed">
<div class="row">
<div class="col-sm-6">
<h2>Order from external source</h2>
<input type="hidden" name="op" id="op" value="do_search" />
<fieldset class="rows">
<ol>
<li><label for="isbn">ISBN: </label> <input type="text" id="isbn" name="isbn" value="[% isbn | html %]" /></li>
<li><label for="issn">ISSN: </label> <input type="text" id="issn" name="issn" value="[% issn | html %]" /></li>
<li><label for="searchtitle">Title: </label> <input type="text" id="searchtitle" name="title" value="[% title | html %]" class="focus" /></li>
<li><label for="author">Author: </label> <input type="text" id="author" name="author" value="[% author | html %]" /></li>
<li><label for="publicationyear">Publication year: </label> <input type="text" id="publicationyear" name="publicationyear" value="[% publicationyear | html %]" /></li>
<li><label for="subject">Subject heading: </label> <input type="text" id="subject" name="subject" value="" /></li>
<li><label for="srchany">Keyword (any): </label> <input type="text" id="srchany" name="srchany" value="" /></li>
<li><label for="lccall">LC call number: </label> <input type="text" id="lccall" name="lccall" value="" /></li>
<li><label for="controlnumber">Control no.: </label> <input type="text" id="controlnumber" name="controlnumber" value="" /></li>
<li><label for="dewey">Dewey: </label> <input type="text" id="dewey" name="dewey" value="" /></li>
<li><label for="stdid">Standard ID: </label> <input type="text" id="stdid" name="stdid" value="" /></li>
<li><label for="frameworkcode" >Select MARC framework:</label>
<select id="frameworkcode" name="frameworkcode" >
<option value="">Default</option>
[% FOREACH framework IN frameworks %]
<option value="[% framework.frameworkcode | html %]" >[% framework.frameworktext | html %]</option>
[% END %]
</select>
</li>
<li><a id="resetZ3950Search" href="#"><i class="fa fa-trash"></i> Clear search form</a></li>
</ol>
</fieldset>
<input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
</div> <!-- /.col-sm-6 -->
<div class="col-sm-6">
<h2>Search targets</h2>
<div id="z3950_search_targets_acq">
<span class="z3950checks"><span class="checkall"><a id="CheckAll" href="#"><i class="fa fa-check"></i> Select all</a></span> | <span class="clearall"><a id="CheckNone" href="#"><i class="fa fa-remove"></i> Clear all</a></span></span>
[% FOREACH serverloo IN serverloop %]
<p>
[% IF ( serverloo.checked ) %]
<input type="checkbox" name="id" id="z3950_[% serverloo.id | html %]" value="[% serverloo.id | html %]" checked="checked" />
[% ELSE %]
<input type="checkbox" name="id" id="z3950_[% serverloo.id | html %]" value="[% serverloo.id | html %]" />
[% END %]
<label for="z3950_[% serverloo.id | html %]">[% serverloo.servername | html %] [[% serverloo.host | html %]]</label>
</p>
[% END %]
</div> <!-- /#z3950_search-targets_acq -->
</div> <!-- /.col-sm-6 -->
</div> <!-- /.row -->
<div class="row">
<div class="col-md-12">
<fieldset class="action"><input type="submit" class="submit" value="Search" /> <a class="cancel" href="/cgi-bin/koha/acqui/basket.pl?booksellerid=[% booksellerid | uri %]&amp;basketno=[% basketno | uri %]">Cancel</a></fieldset>
</div>
</div>
</form>
[% ELSE %]
<div class="row">
<div class="col-md-12">
<h2>Search results</h2>
<p>You searched for:
[% IF ( title ) %]<em>Title: </em><span class=term>[% title | html %]</span> [% END %]
[% IF ( author ) %]<em>Author: </em><span class=term>[% author | html %]</span> [% END %]
[% IF ( publicationyear ) %]<em>Publication year: </em><span class=term>[% publicationyear | html %]</span> [% END %]
[% IF ( isbn ) %]<em>ISBN: </em><span class=term>[% isbn | html %]</span> [% END %]
[% IF ( issn ) %]<em>ISSN: </em><span class=term>[% issn | html %]</span> [% END %]
[% IF ( lccall ) %]<em>LC call number: </em><span class=term>[% lccall | html %]</span> [% END %]
[% IF ( subject ) %]<em>Subject heading: </em><span class=term>[% subject | html %]</span> [% END %]
[% IF ( controlnumber ) %]<em>Control no: </em><span class=term>[% controlnumber | html %]</span> [% END %]
[% IF ( dewey ) %]<em>Dewey: </em><span class=term>[% dewey | html %]</span> [%END %]
</p>
[% IF ( breeding_loop ) %]
<table id="resultst">
<thead><tr>
<th>Server</th>
<th>Title</th>
<th>Author</th>
<th>Year</th>
<th>Edition</th>
<th>ISBN</th>
<th>LCCN</th>
[% IF ( Koha.Preference('AdditionalFieldsInZ3950ResultSearch') != '' ) %]
<th>Additional fields</th>
[% END %]
<th>Actions</th>
</tr></thead>
<tbody>[% FOREACH breeding_loo IN breeding_loop %]
[% IF ( breeding_loo.breedingid ) %]
<tr>
<td>[% breeding_loo.server | html %]</td>
<td>[% breeding_loo.title | html %]</td>
<td>[% breeding_loo.author | html %]</td>
<td>[% breeding_loo.date | html %]</td>
<td>[% breeding_loo.edition | html %]</td>
<td>[% breeding_loo.isbn | html %]</td>
<td>[% breeding_loo.lccn | html %]</td>
[% IF ( Koha.Preference('AdditionalFieldsInZ3950ResultSearch') != '' ) %]
<td>
<dl>
[% FOREACH addnumberfield IN breeding_loo.addnumberfields %]
[% FOREACH string IN breeding_loo.$addnumberfield %]
<dt>[% addnumberfield | html %]:</dt>
<dd>[% string | html %]</dd>
[% END %]
[% END %]
</dl>
</td>
[% END %]
<td class="actions">
<div class="btn-group dropup">
<a class="btn btn-default btn-xs z3950actions" href="#">MARC</a><button data-toggle="dropdown" class="btn-xs dropdown-toggle"><span class="caret"></span></button>
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="z3950preview[% breeding_loo.breedingid | html %]">
<li><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.breedingid | uri %]" title="MARC" class="previewData"><i class="fa fa-eye"></i> MARC</a></li>
<li><a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;importid=[% breeding_loo.breedingid | uri %]" title="Card" class="previewData"><i class="fa fa-eye"></i> Card</a></li>
<li><a href="/cgi-bin/koha/acqui/neworderempty.pl?frameworkcode=[% frameworkcode | uri %]&amp;breedingid=[% breeding_loo.breedingid | uri %]&amp;booksellerid=[% booksellerid | uri %]&amp;basketno=[% basketno | uri %]" class="chosen" title="Order"><i class="fa fa-plus"></i> [% tp('verb', 'Order') | html %]</a></li>
</ul>
</div>
</td>
</tr>
[% END %]
[% END %]</tbody>
</table>
<div id="dataPreview" class="modal" tabindex="-1" role="dialog" aria-labelledby="dataPreviewLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="dataPreviewLabel">MARC preview</h3>
</div>
<div class="modal-body">
<div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
</div>
</div>
<form method="post" action="z3950_search.pl" id="page_form" name="page_form" class="checkboxed">
<input type="hidden" name="op" id="op" value="do_search" />
<input type="hidden" name="current_page" id="current_page" value="[% current_page | html %]" />
<input type="hidden" id="searchtitle" name="title" value="[% title | html %]" />
<input type="hidden" id="isbn" name="isbn" value="[% isbn | html %]" />
<input type="hidden" id="lccall" name="lccall" value="[% lccall | html %]" />
<input type="hidden" id="author" name="author" value="[% author | html %]" />
<input type="hidden" id="publicationyear" name="publicationyear" value="[% publicationyear | html %]" />
<input type="hidden" id="subject" name="subject" value="[% subject | html %]" />
<input type="hidden" id="dewey" name="dewey" value="[% dewey | html %]" />
<input type="hidden" name="frameworkcode" value="[% frameworkcode | html %]" />
<input type="hidden" name="biblionumber" value="[% biblionumber | html %]" />
<input type="hidden" name="controlnumber" value="[% controlnumber | html %]" />
<input type="hidden" name="basketno" value="[% basketno | html %]" />
<input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
[% FOREACH server IN servers %]
<input type="hidden" name="id" id="z3950_[% server.id | html %]" value="[% server.id | html %]" />
[% END %]
[% IF ( show_prevbutton ) %]
<input type="button" name="changepage_prev" value="Previous page" data-currentpage="[% current_page | html %]" />
[% END %]
Page [% current_page | html %] / [% total_pages | html %]
[% IF ( show_nextbutton ) %]
<input type="button" name="changepage_next" value="Next page" data-currentpage="[% current_page | html %]" />
[% END %]
<br />Go to page : <input id="goto_page" name="goto_page" value="[% current_page | html %]" size="4" type="text" /> <input type="submit" name="changepage_goto" value="Go" />
</form>
[% ELSE %]
[% IF ( emptyserverlist ) %]
<div class="dialog alert">You didn't select any external target.</div>
[% ELSE %]
[% IF ( errconn ) %]
<div class="dialog alert">
<ul>
[% FOREACH errcon IN errconn %]
<li>Connection failed to [% errcon.server | html %]</li>
[% END %]
</ul>
</div>
[% END %]
[% END %]
<div class="dialog message">Nothing found. <a href="javascript: history.back()">Try another search</a>.</div>
[% END %]
</div> <!-- /.col-md-12 -->
</div> <!-- /.row -->
[% END %]
[% IF ( numberpending ) %]<h3 align="center">Still [% numberpending | html %] servers to search</h3>[% END %]
[% MACRO jsinclude BLOCK %]
[% Asset.js("js/acquisitions-menu.js") | $raw %]
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'z3950_search.inc' %]
[% Asset.js("js/z3950_search.js") | $raw %]
[% INCLUDE 'z3950_search.inc' %]
<script>
$(document).ready(function(){
var resultst = $("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "aTargets": [ -1, -2 ], "bSortable": false, "bSearchable": false },
{ "aTargets": [ 1 ], "sType": "nsb-nse" },
],
"aaSorting": [[ 1, "asc" ]],
"bPaginate": false
}));
InitLastAction();
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]