Martin Renvoize
c1b08d24da
This patch adds a new cataloging-home template and controller and replaces most cases of links to addbooks. This serves to provide a new cataloging home page for the cataloging module and keeps it distinct from the current addbooks page it partially replaces as a starting point for cataloging. We migrate most cataloging related tools from the 'Tools' module whilst opting to move 'Rotating collections' to the 'Circulation' section of the 'Tools' homepage. We also add links to the cataloging tab of system preferences and a the adminstration pages if the user has the correct permissions to have access to these areas. Signed-off-by: KIT <michaela.sieber@kit.edu> Signed-off-by: Emmanuel Bétemps <e.betemps@gmail.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
363 lines
21 KiB
Text
363 lines
21 KiB
Text
[% USE raw %]
|
||
[% USE Koha %]
|
||
[% USE KohaDates %]
|
||
[% USE TablesSettings %]
|
||
[% SET footerjs = 1 %]
|
||
[% INCLUDE 'doc-head-open.inc' %]
|
||
<title>Cataloging [% IF ( total || breeding_loop ) %] › Search results [% ELSIF ( query ) %] › No results found [% END %] › Koha</title>
|
||
[% INCLUDE 'doc-head-close.inc' %]
|
||
</head>
|
||
|
||
<body id="cat_addbooks" class="cat">
|
||
[% WRAPPER 'header.inc' %]
|
||
[% INCLUDE 'cataloging-search.inc' %]
|
||
[% END %]
|
||
|
||
[% WRAPPER 'sub-header.inc' %]
|
||
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
|
||
<ol>
|
||
<li>
|
||
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
|
||
</li>
|
||
[% IF ( total || breeding_loop ) %]
|
||
<li>
|
||
<a href="/cgi-bin/koha/cataloguing/cataloging-home.pl">Cataloging</a>
|
||
</li>
|
||
<li>
|
||
<a href="#" aria-current="page">Search results</a>
|
||
</li>
|
||
[% ELSIF ( query ) %]
|
||
<li>
|
||
<a href="/cgi-bin/koha/cataloguing/addbooks.pl">Cataloging</a>
|
||
</li>
|
||
<li>
|
||
<a href="#" aria-current="page">No results found</a>
|
||
</li>
|
||
[% ELSE %]
|
||
<li>
|
||
<a href="#" aria-current="page">
|
||
Cataloging
|
||
</a>
|
||
</li>
|
||
[% END %]
|
||
</ol>
|
||
</nav>
|
||
[% END %]
|
||
|
||
<div class="main container-fluid">
|
||
<div class="row">
|
||
<div class="col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
|
||
|
||
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
|
||
<div id="toolbar" class="btn-toolbar">
|
||
[% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 && CAN_user_editcatalogue_advanced_editor %]
|
||
<a id="useadvanced" href="/cgi-bin/koha/cataloguing/editor.pl" class="btn btn-default"><i class="fa fa-pencil"></i> Advanced editor</a>
|
||
[% END %]
|
||
<div class="btn-group">
|
||
<button class="btn btn-default" id="newRecord"><i class="fa fa-plus"></i> New record</button>
|
||
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||
<span class="caret"></span>
|
||
</button>
|
||
<ul class="dropdown-menu">
|
||
<li><a id="newRecordDefault" href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=">Default framework</a></li>
|
||
[% FOREACH framework IN frameworks %]
|
||
<li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=[% framework.frameworkcode | uri %]">[% framework.frameworktext | html %]</a></li>
|
||
[% END %]
|
||
</ul>
|
||
</div>
|
||
[% IF servers.count > 0 %]
|
||
<div class="btn-group">
|
||
<button class="btn btn-default" id="z3950search"><i class="fa fa-search"></i> New from Z39.50/SRU</button>
|
||
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||
<span class="caret"></span>
|
||
</button>
|
||
<ul class="dropdown-menu">
|
||
<li id="Default" class="z3950searchFw"><a href="#">Default framework</a></li>
|
||
[% FOREACH framework IN frameworks %]
|
||
<li id="[% framework.frameworkcode | html %]" class="z3950searchFw"><a href="#">[% framework.frameworktext | html %]</a></li>
|
||
[% END %]
|
||
</ul>
|
||
</div>
|
||
[% END # /IF servers.count %]
|
||
[% IF ( total ) %]
|
||
<div class="btn-group"><button type="submit" class="btn btn-default merge-items"><i class="fa fa-compress"></i> Merge selected</button></div>
|
||
[% END %]
|
||
</div> <!-- /#toolbar -->
|
||
[% END # /IF CAN_user_editcatalogue_edit_catalogue %]
|
||
|
||
<h1>Cataloging</h1>
|
||
|
||
[% IF ( noitemsfound ) %]
|
||
No results found
|
||
[% END %]
|
||
|
||
[%# display the search results %]
|
||
|
||
|
||
[% IF ( total ) %]
|
||
<h1>Records found in the catalog</h1>
|
||
<div>
|
||
[% total | html %] result(s) found in catalog,
|
||
<a href="#searchresult-breeding">[% breeding_count | html %] result(s) found in reservoir</a>
|
||
</div>
|
||
<div class="pages">[% pagination_bar | $raw %]</div>
|
||
<div class="searchresults">
|
||
<table>
|
||
<tr>
|
||
<th> </th>
|
||
<th>Title</th>
|
||
<th>Location</th>
|
||
<th> </th>
|
||
</tr>
|
||
[% FOREACH resultsloo IN resultsloop %]
|
||
<tr>
|
||
<td><input type="checkbox" class="selection" id="bib[% resultsloo.biblionumber | html %]" name="biblionumber" value="[% resultsloo.biblionumber | html %]" /></td>
|
||
<td>
|
||
<p>
|
||
[% INCLUDE 'biblio-title.inc' biblio=resultsloo link = 1 %]
|
||
</p>
|
||
[% IF ( resultsloo.summary ) %]
|
||
<p>[% resultsloo.summary | html %]</p>
|
||
[% ELSE %]
|
||
<p>
|
||
[% IF ( resultsloo.author ) %]
|
||
[% resultsloo.author | html %]
|
||
[% ELSE %]
|
||
|
||
[% END %]
|
||
[% IF ( resultsloo.isbn ) %] - [% resultsloo.isbn | html %] [% END %]
|
||
[% IF ( resultsloo.publicationyear ) %] - [% resultsloo.publicationyear | html %][% END %]
|
||
[% IF ( resultsloo.publishercode ) %]- [% resultsloo.publishercode | html %][% END %]
|
||
[% IF ( resultsloo.copyrightdate ) %] - [% resultsloo.copyrightdate | html %][% END %]
|
||
[% IF ( resultsloo.edition ) %]<span>Edition: </span>[% resultsloo.edition | html %][% END %]
|
||
[% IF ( resultsloo.place ) %] ; [% resultsloo.place | html %][% END %]
|
||
[% IF ( resultsloo.pages ) %] - [% resultsloo.pages | html %][% END %]
|
||
[% IF ( resultsloo.item('size') ) %] ; [% resultsloo.item('size') | html %][% END %]
|
||
[% IF ( resultsloo.timestamp ) %] <em>(modified on [% resultsloo.timestamp | html %])</em>[% END %]
|
||
</p>
|
||
[% END %]
|
||
</td>
|
||
<td>
|
||
[% IF ( resultsloo.available_items_loop ) %]
|
||
<span class="available">
|
||
[% FOREACH items_loo IN resultsloo.available_items_loop %]
|
||
[% items_loo.count | html %] [% items_loo.branchname | html %]
|
||
[% IF ( items_loo.location ) %]<span class="shelvingloc">[% items_loo.location | html %]</span>[% END %]
|
||
[% IF ( items_loo.itemcallnumber ) %][% items_loo.itemcallnumber | html %][% END %]
|
||
[% IF ( items_loo.classification ) %]
|
||
<a href="/cgi-bin/koha/catalogue/search.pl?q=callnum:[% items_loo.classification |url %]">
|
||
[% items_loo.classification | html %]
|
||
</a>
|
||
[% END %]
|
||
<br />
|
||
[% END %]
|
||
</span>
|
||
[% END %]
|
||
<span class="unavailable">
|
||
[% IF ( resultsloo.onloancount ) %] <span>Checked out ([% resultsloo.onloancount | html %])</span>,<br /> [% END %]
|
||
[% IF ( resultsloo.withdrawncount ) %] <span>Withdrawn ([% resultsloo.withdrawncount | html %])</span>,<br /> [% END %]
|
||
[% IF ( resultsloo.itemlostcount ) %] <span>Lost ([% resultsloo.itemlostcount | html %])</span><br />[% END %]
|
||
[% IF ( resultsloo.recalledcount ) %] <span>Waiting to fill recall ([% resultsloo.recalled | html %])</span>[% END %]
|
||
[% IF ( resultsloo.onholdcount ) %] <span>Waiting on hold ([% resultsloo.onholdcount | html %])</span>[% END %]
|
||
</span>
|
||
<span class="notforloan">
|
||
[% IF ( resultsloo.other_items_loop ) %]
|
||
[% FOREACH items_loo IN resultsloo.other_items_loop %]
|
||
[% IF ( items_loo.notforloan ) %][% items_loo.notforloan | html %] ([% items_loo.count | html %])<br />[% END %]
|
||
[% END %]
|
||
[% END %]
|
||
</span>
|
||
</td>
|
||
<td>
|
||
<div class="dropup">
|
||
<a class="btn btn-default btn-xs dropdown-toggle" id="cataloguesearchactions[% resultsloo.biblionumber | html %]" role="button" data-toggle="dropdown" href="#">
|
||
Actions <b class="caret"></b>
|
||
</a>
|
||
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="cataloguesearchactions[% resultsloo.biblionumber | html %]">
|
||
<li><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% resultsloo.biblionumber | uri %]" class="previewData"><i class="fa fa-eye"></i> MARC preview</a></li>
|
||
<li><a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&id=[% resultsloo.biblionumber | uri %]" class="previewData"><i class="fa fa-eye"></i> Card preview</a></li>
|
||
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
|
||
<li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% resultsloo.biblionumber | uri %]"><i class="fa fa-pencil"></i> Edit record</a></li>
|
||
[% END %]
|
||
[% IF ( CAN_user_editcatalogue_edit_items ) %]
|
||
<li><a href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% resultsloo.biblionumber | uri %]"><i class="fa fa-plus"></i> Add/Edit items</a></li>
|
||
[% END %]
|
||
</ul>
|
||
</div> <!-- /.dropup -->
|
||
</td>
|
||
</tr>
|
||
[% END # /FOREACH resultsloo %]
|
||
</table>
|
||
<div class="pages">[% pagination_bar | $raw %]</div>
|
||
</div> <!-- /.searchresults -->
|
||
[% ELSE # IF total %]
|
||
[% IF ( query ) %]
|
||
[% IF ( error ) %]
|
||
<div class="dialog alert">
|
||
[% END %]
|
||
<h3>No results found</h3>
|
||
[% IF ( error ) %]
|
||
Error: <span class="error">[% error | html %]</span>
|
||
</div>
|
||
[% END %]
|
||
[% END %]
|
||
[% END # /IF total %]
|
||
|
||
[% IF ( query ) %]
|
||
<hr />
|
||
<div id="searchresult-breeding">
|
||
<h2>Records found in the reservoir</h2>
|
||
[% IF ( breeding_loop ) %]
|
||
<table id="reservoir-table">
|
||
<thead>
|
||
<tr>
|
||
<th>Title</th>
|
||
<th>ISBN</th>
|
||
<th>Coming from</th>
|
||
<th>Import date</th>
|
||
<th class="NoSort noExport"> </th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
[% FOREACH breeding_loo IN breeding_loop %]
|
||
<tr>
|
||
<td>
|
||
[% breeding_loo.title | html %] [% breeding_loo.author | html %]
|
||
</td>
|
||
<td>[% breeding_loo.isbn | html %]</td>
|
||
<td>[% breeding_loo.file | html %]</td>
|
||
<td data-sort="[% breeding_loo.upload_timestamp | html %]">[% breeding_loo.upload_timestamp | $KohaDates %]</td>
|
||
<td>
|
||
<div class="dropup">
|
||
<a class="btn btn-default btn-xs dropdown-toggle" id="reservoirsearchactions[% breeding_loo.id | html %]" role="button" data-toggle="dropdown" href="#">
|
||
Actions <b class="caret"></b>
|
||
</a>
|
||
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="reservoirsearchactions[% breeding_loo.id | html %]">
|
||
<li><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.id | uri %]" class="previewData"><i class="fa fa-eye"></i> MARC preview</a></li>
|
||
<li><a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&importid=[% breeding_loo.id | uri %]" class="previewData"><i class="fa fa-eye"></i> Card preview</a></li>
|
||
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
|
||
<li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?breedingid=[% breeding_loo.id | uri %]"><i class="fa fa-plus"></i> Add biblio</a></li>
|
||
[% END %]
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
[% END # /IF breeding_loo %]
|
||
</tbody>
|
||
</table>
|
||
[% ELSE %]
|
||
<h3 id="searchresult-breeding">No results found</h3>
|
||
[% END # /IF breeding_loop %]
|
||
</div>
|
||
[% END # /IF query %]
|
||
|
||
<div id="dataPreview" class="modal fade" 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">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> <!-- /.modal-content -->
|
||
</div> <!-- /.modal-dialog -->
|
||
</div> <!-- /#dataPreview -->
|
||
</div> <!-- /.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2 -->
|
||
</div> <!-- /.row -->
|
||
|
||
[% MACRO jsinclude BLOCK %]
|
||
[% INCLUDE 'datatables.inc' %]
|
||
[% INCLUDE 'columns_settings.inc' %]
|
||
<script>
|
||
|
||
$(document).ready(function() {
|
||
//Set focus to cataloging search
|
||
$("input[name=q]:eq(0)").focus();
|
||
|
||
$("#newRecord").click(function(){
|
||
var url = $("a#newRecordDefault").prop("href");
|
||
window.location.href = url;
|
||
return false;
|
||
});
|
||
|
||
$("#z3950search").click(function(){
|
||
PopupZ3950("Default");
|
||
return false;
|
||
});
|
||
|
||
$(".z3950searchFw").click(function(){
|
||
PopupZ3950($(this).prop('id'));
|
||
return false;
|
||
});
|
||
$(".merge-items").on("click",function(e){
|
||
e.preventDefault();
|
||
MergeItems();
|
||
});
|
||
|
||
$("#useadvanced").click(function(){
|
||
Cookies.set( "catalogue_editor_[% logged_in_user.borrowernumber | html %]", "advanced", { expires: 365, path: '/', sameSite: 'Lax' } );
|
||
return true;
|
||
});
|
||
|
||
$(".previewData").on("click", function(e){
|
||
e.preventDefault();
|
||
var ltitle = $(this).text();
|
||
var page = $(this).attr("href");
|
||
$("#dataPreviewLabel").text(ltitle);
|
||
$("#dataPreview .modal-body").load(page + " div");
|
||
$('#dataPreview').modal({show:true});
|
||
});
|
||
$("#dataPreview").on("hidden.bs.modal", function(){
|
||
$("#dataPreviewLabel").html("");
|
||
$("#dataPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface | html %]/[% theme | html %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
|
||
});
|
||
|
||
var table_settings = [% TablesSettings.GetTableSettings( 'cataloguing', 'addbooks', 'reservoir-table', 'json' ) | $raw %]
|
||
var reservoirt = KohaTable("reservoir-table", {
|
||
"pagingType": "simple"
|
||
}, table_settings );
|
||
});
|
||
|
||
/* this function open a popup to search on z3950 server. */
|
||
function PopupZ3950(fw) {
|
||
var strQuery = GetZ3950Terms(fw);
|
||
if(strQuery){
|
||
window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber | html %]"+strQuery,"z3950search",'width=800,height=500,location=yes,toolbar=no,scrollbars=yes,resize=yes');
|
||
}
|
||
}
|
||
/* provide Z3950 search points */
|
||
function GetZ3950Terms(fw){
|
||
var strQuery="&frameworkcode=" + fw;
|
||
[% FOREACH z3950_search_param IN z3950_search_params %]
|
||
strQuery += "&" + "[% z3950_search_param.name | uri %]" + "=" + "[% z3950_search_param.value | uri %]";
|
||
[% END %]
|
||
return strQuery;
|
||
}
|
||
|
||
/**
|
||
* This function checks if the adequate number of records are checked for merging
|
||
*/
|
||
function MergeItems() {
|
||
var checkboxes = $("input:checkbox:checked");
|
||
if (checkboxes.length < 2) {
|
||
alert(_("At least two records must be selected for merging."));
|
||
} else {
|
||
var params = [];
|
||
$(checkboxes).each(function() {
|
||
params.push('biblionumber=' + $(this).val());
|
||
});
|
||
var url = '/cgi-bin/koha/cataloguing/merge.pl?' + params.join('&');
|
||
location.href = url;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
</script>
|
||
[% END %]
|
||
|
||
[% INCLUDE 'intranet-bottom.inc' %]
|