Koha/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbooks.tt
Jonathan Druart ac541e0fa1 Bug 15344: Remove unucessary call to GetMemberDetails
This subroutine does a lot a processing and should only be called when
necessary.
In the get_template_and_user subroutine (so called from any pages of
Koha), it is call to pass the branchcode, title, firstname, surname and
borrowernumber values for the logged in user.
This subroutine calls GetMemberAccountRecords which retrieve the items
infos for all accountlines entries of the logged in user.
On members/members.pl, let's say you have 74 entries in the accountlines
tables, the page will execute 115 SELECT instead of 35 if you don't have any
accountlines entries.
With this patch, the number of SELECT is always 31.

To test this patch you should have technical skills to know what to do.

Note that USER_INFO was an array of... 1 element. Now it's a hashref.

Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2015-12-30 11:53:18 +00:00

247 lines
11 KiB
Text

[% USE Koha %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Cataloging</title>
[% INCLUDE 'greybox.inc' %]
[% INCLUDE 'doc-head-close.inc' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
//Set focus to cataloging search
$("input[name=q]:eq(0)").focus();
$("#z3950search").click(function(){
PopupZ3950("");
return false;
});
$(".z3950searchFw").click(function(){
PopupZ3950($(this).prop('id'));
return false;
});
$(".merge-items").on("click",function(e){
e.preventDefault();
MergeItems();
});
$("#useadvanced").click(function(){
$.cookie( 'catalogue_editor_[% USER_INFO.borrowernumber %]', 'advanced', { expires: 365, path: '/' } );
return true;
});
});
/* 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 %]"+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");
var nbCheckbox = checkboxes.length;
if (nbCheckbox != 2) {
alert(_("Two records must be selected for merging."));
} else {
location.href='/cgi-bin/koha/cataloguing/merge.pl?biblionumber=' + checkboxes[0].value + '&amp;biblionumber=' + checkboxes[1].value;
}
return false;
}
//]]>
</script>
</head>
<body id="cat_addbooks" class="cat">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cataloging-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; Cataloging</div>
<div id="doc" class="yui-t7">
<div id="bd">
<div id="yui-main">
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
<div id="toolbar" class="btn-toolbar">
[% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 %]
<a id="useadvanced" href="/cgi-bin/koha/cataloguing/editor.pl" class="btn btn-small"><i class="icon-edit"></i> Advanced editor</a>
[% END %]
<div class="btn-group">
<button class="btn btn-small dropdown-toggle" data-toggle="dropdown"><i class="fa fa-plus"></i> New record <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=">Default framework</a></li>
[% FOREACH frameworkcodeloo IN frameworkcodeloop %]
<li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=[% frameworkcodeloo.value %]">[% frameworkcodeloo.frameworktext %]</a></li>
[% END %]
</ul>
</div>
<div class="btn-group">
<button class="btn btn-small" id="z3950search"><i class="fa fa-search"></i> New from Z39.50/SRU</button>
<button class="btn btn-small dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li id="" class="z3950searchFw"><a href="#">Default framework</a></li>
[% FOREACH frameworkcodeloo IN frameworkcodeloop %]
<li id="[% frameworkcodeloo.value %]" class="z3950searchFw"><a href="#">[% frameworkcodeloo.frameworktext %]</a></li>
[% END %]
</ul>
</div>
[% IF ( total ) %]
<div class="btn-group"><button type="submit" class="btn btn-small merge-items"><i class="fa fa-compress"></i> Merge selected</button></div>
[% END %]
</div>
[% END %]
[% IF ( noitemsfound ) %]
No results found
[% END %]
[%# display the search results %]
[% IF ( total ) %]
<div>
[% total %] result(s) found in catalog,
<a href="#searchresult-breeding">[% breeding_count %] result(s) found in reservoir</a>
</div>
<div class="pages">[% pagination_bar %]</div>
<div class="searchresults">
<table>
<tr>
<th>&nbsp;</th>
<th>Title</th>
<th>Location</th>
<th>Preview</th>
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<th>&nbsp;</th>[% ELSE %][% END %]
[% IF ( CAN_user_editcatalogue_edit_items ) %]<th>&nbsp;</th>[% END %]
</tr>
[% FOREACH resultsloo IN resultsloop %]
[% IF ( loop.even ) %]
<tr class="highlight">
[% ELSE %]
<tr>
[% END %]
<td><input type="checkbox" class="selection" id="bib[% resultsloo.biblionumber %]" name="biblionumber" value="[% resultsloo.biblionumber %]" /></td>
<td>
<p>
<a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% resultsloo.biblionumber %]">[% resultsloo.title |html %]</a>
[% FOREACH subtitl IN resultsloo.subtitle %][% subtitl.subfield %][% END %]</p>
[% IF ( resultsloo.summary ) %]
<p>[% resultsloo.summary %]</p>
[% ELSE %]
<p>
[% IF ( resultsloo.author ) %]
[% resultsloo.author %]
[% ELSE %]
&nbsp;
[% END %]
[% IF ( resultsloo.isbn ) %] - [% resultsloo.isbn %] [% END %]
[% IF ( resultsloo.publicationyear ) %] - [% resultsloo.publicationyear %][% END %]
[% IF ( resultsloo.publishercode ) %]- [% resultsloo.publishercode %][% END %]
[% IF ( resultsloo.copyrightdate ) %] - [% resultsloo.copyrightdate %][% END %]
[% IF ( resultsloo.edition ) %]Edition: [% resultsloo.edition %][% END %]
[% IF ( resultsloo.place ) %] ; [% resultsloo.place %][% END %]
[% IF ( resultsloo.pages ) %] - [% resultsloo.pages %][% END %]
[% IF ( resultsloo.item('size') ) %] ; [% resultsloo.item('size') %][% END %]
[% IF ( resultsloo.timestamp ) %] <i>(modified on [% resultsloo.timestamp %])</i>[% END %]
</p>
[% END %]
</td>
<td>
[% IF ( resultsloo.available_items_loop ) %]
<span class="available">
[% FOREACH items_loo IN resultsloo.available_items_loop %]
[% items_loo.count %] [% items_loo.branchname %]
<i>
[% IF ( items_loo.location ) %][% items_loo.location %][% END %]
[% IF ( items_loo.itemcallnumber ) %][% items_loo.itemcallnumber %][% END %]
[% IF ( items_loo.classification ) %]
<a href="/cgi-bin/koha/catalogue/search.pl?q=callnum:[% items_loo.classification |url %]">
[% items_loo.classification %]
</a>
[% END %]
</i>
<br />
[% END %]
</span>
[% END %]
<span class="unavailable">
[% IF ( resultsloo.onloancount ) %] Checked out ([% resultsloo.onloancount %]),<br /> [% END %]
[% IF ( resultsloo.withdrawncount ) %] Withdrawn ([% resultsloo.withdrawncount %]),<br /> [% END %]
[% IF ( resultsloo.itemlostcount ) %] Lost ([% resultsloo.itemlostcount %])<br />[% END %]
[% IF ( resultsloo.orderedcount ) %] On order ([% resultsloo.orderedcount %])<br/>[% END %]
[% IF ( resultsloo.notforloancount ) %] Not for loan ([% resultsloo.notforloancount %])[% END %]
</span>
</td>
<td> <a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% resultsloo.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% resultsloo.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a>
</td>
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<td><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% resultsloo.biblionumber %]">Edit biblio</a></td>[% END %]
[% IF ( CAN_user_editcatalogue_edit_items ) %]<td><a href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% resultsloo.biblionumber %]">Add/Edit items</a></td>[% END %]
</tr>
[% END %]
</table>
</div>
[% ELSE %]
[% IF ( query ) %]
[% IF ( error ) %]<div class="dialog alert">[% END %]<b>No results found</b>
[% IF ( error ) %]
Error: <span class="error">[% error %]</span></div>
[% END %]
[% END %]
[% END %]
[% IF ( query ) %]
<div id="searchresult-breeding">
<h3>Biblios in reservoir</h3>
[% IF ( breeding_loop ) %]
<table>
<tr>
<th>Title</th>
<th>ISBN</th>
<th>Date</th>
<th>Edition</th>
<th>Coming from</th>
<th>Preview</th>
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<th>&nbsp;</th>[% END %]
</tr>
[% FOREACH breeding_loo IN breeding_loop %]
[% IF ( loop.odd ) %]
<tr>
[% ELSE %]
<tr class="highlight">
[% END %]
<td>[% breeding_loo.title |html %]
[% breeding_loo.author %]</td>
<td>[% breeding_loo.isbn %]</td>
<td>[% breeding_loo.copyrightdate %]</td>
<td>[% breeding_loo.edition %]</td>
<td>[% breeding_loo.file %]</td>
<td> <a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.id %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;importid=[% breeding_loo.id %]" title="MARC" rel="gb_page_center[600,500]">Card</a>
</td>
[% IF ( CAN_user_editcatalogue_edit_catalogue ) %]<td>
<a href="/cgi-bin/koha/cataloguing/addbiblio.pl?breedingid=[% breeding_loo.id %]">Add biblio</a>
</td>[% END %]
</tr>
[% END %]
</table>
[% ELSE %]
<p>None</p>
[% END %]
</div>
[% END %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]