diff --git a/C4/Members.pm b/C4/Members.pm
index ebbbe81b85..54fd896ebe 100644
--- a/C4/Members.pm
+++ b/C4/Members.pm
@@ -1041,7 +1041,7 @@ sub GetPendingIssues {
# Borrowers part of the query
my $bquery = '';
for (my $i = 0; $i < @borrowernumbers; $i++) {
- $bquery .= ' borrowernumber = ?';
+ $bquery .= ' issues.borrowernumber = ?';
if ($i < $#borrowernumbers ) {
$bquery .= ' OR';
}
@@ -1068,6 +1068,9 @@ sub GetPendingIssues {
biblioitems.volumedesc,
biblioitems.lccn,
biblioitems.url,
+ borrowers.firstname,
+ borrowers.surname,
+ borrowers.cardnumber,
issues.timestamp AS timestamp,
issues.renewals AS renewals,
issues.borrowernumber AS borrowernumber,
@@ -1076,6 +1079,7 @@ sub GetPendingIssues {
LEFT JOIN items ON items.itemnumber = issues.itemnumber
LEFT JOIN biblio ON items.biblionumber = biblio.biblionumber
LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
+ LEFT JOIN borrowers ON issues.borrowernumber = borrowers.borrowernumber
WHERE
$bquery
ORDER BY issues.issuedate"
diff --git a/C4/Overdues.pm b/C4/Overdues.pm
index 28b135c5a4..918926f9e2 100644
--- a/C4/Overdues.pm
+++ b/C4/Overdues.pm
@@ -165,8 +165,37 @@ Returns a count and a list of overdueitems for a given borrowernumber
sub checkoverdues {
my $borrowernumber = shift or return;
+ # don't select biblioitems.marc or biblioitems.marcxml... too slow on large systems
my $sth = C4::Context->dbh->prepare(
- "SELECT * FROM issues
+ "SELECT biblio.*, items.*, issues.*,
+ biblioitems.volume,
+ bibliotiems.number,
+ biblioitems.itemtype,
+ biblioitems.isbn,
+ biblioitems.issn,
+ biblioitems.publicationyear,
+ biblioitems.publishercode,
+ biblioitems.volumedate,
+ biblioitems.volumedesc,
+ biblioitems.collectiontitle,
+ biblioitems.collectionissn,
+ biblioitems.collectionvolume,
+ biblioitems.editionstatement,
+ biblioitems.editionresponsibility,
+ biblioitems.illus,
+ biblioitems.pages,
+ biblioitems.notes,
+ biblioitems.size,
+ biblioitems.place,
+ biblioitems.lccn,
+ biblioitems.url,
+ biblioitems.cn_source,
+ biblioitems.cn_class,
+ biblioitems.cn_item,
+ biblioitems.cn_suffix,
+ biblioitems.cn_sort,
+ biblioitems.totalissues
+ FROM issues
LEFT JOIN items ON issues.itemnumber = items.itemnumber
LEFT JOIN biblio ON items.biblionumber = biblio.biblionumber
LEFT JOIN biblioitems ON items.biblioitemnumber = biblioitems.biblioitemnumber
diff --git a/circ/circulation.pl b/circ/circulation.pl
index da4878f94e..da6a4ecc29 100755
--- a/circ/circulation.pl
+++ b/circ/circulation.pl
@@ -418,19 +418,15 @@ sub build_issue_data {
foreach my $it ( @$issueslist ) {
my $itemtypeinfo = getitemtypeinfo( (C4::Context->preference('item-level_itypes')) ? $it->{'itype'} : $it->{'itemtype'} );
- # Getting borrower details
- my $memberdetails = GetMemberDetails($it->{'borrowernumber'});
- $it->{'borrowername'} = $memberdetails->{'firstname'} . " " . $memberdetails->{'surname'};
- $it->{'cardnumber'} = $memberdetails->{'cardnumber'};
# set itemtype per item-level_itype syspref - FIXME this is an ugly hack
$it->{'itemtype'} = ( C4::Context->preference( 'item-level_itypes' ) ) ? $it->{'itype'} : $it->{'itemtype'};
($it->{'charge'}, $it->{'itemtype_charge'}) = GetIssuingCharges(
- $it->{'itemnumber'}, $borrower->{'borrowernumber'}
+ $it->{'itemnumber'}, $it->{'borrowernumber'}
);
$it->{'charge'} = sprintf("%.2f", $it->{'charge'});
my ($can_renew, $can_renew_error) = CanBookBeRenewed(
- $borrower->{'borrowernumber'},$it->{'itemnumber'}
+ $it->{'borrowernumber'},$it->{'itemnumber'}
);
$it->{"renew_error_${can_renew_error}"} = 1 if defined $can_renew_error;
my ( $restype, $reserves ) = CheckReserves( $it->{'itemnumber'} );
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
index 216c46e4f8..346a86bdcc 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt
@@ -701,7 +701,8 @@ No patron matched [% message %]
[% todayissue.title |html %][% IF ( todayissue.author ) %], by [% todayissue.author %][% END %][% IF ( todayissue.itemnotes ) %]- [% todayissue.itemnotes %][% END %] [% todayissue.barcode %] |
[% UNLESS ( noItemTypeImages ) %] [% IF ( todayissue.itemtype_image ) %] [% END %][% END %][% todayissue.itemtype %] |
[% todayissue.checkoutdate %] |
- [% IF ( todayissue.multiple_borrowers ) %][% todayissue.borrowername %] | [% END %]
+ [% IF ( todayissue.multiple_borrowers ) %][% todayissue.firstname %] [% todayissue.surname %] | [% END %]
+ [% todayissue.issuingbranchname %] |
[% todayissue.itemcallnumber %] |
[% todayissue.charge %] |
[% todayissue.replacementprice %] |
@@ -775,7 +776,12 @@ No patron matched [% message %]
[% previssue.itemtype %]
[% previssue.displaydate %] |
+<<<<<<< HEAD
[% IF ( previssue.multiple_borrowers ) %][% previssue.borrowername %] | [% END %]
+=======
+ [% IF ( previssue.multiple_borrowers ) %][% previssue.firstname %] [% previssue.surname %] | [% END %]
+ [% previssue.issuingbranchname %] |
+>>>>>>> 26acaf3... Bug 6801: checkoverdues returns unnecessary fields, causing slowness
[% previssue.itemcallnumber %] |
[% previssue.charge %] |
[% previssue.replacementprice %] |
@@ -881,7 +887,7 @@ No patron matched [% message %]
[% relissue.displaydate %] |
[% relissue.itemcallnumber %] |
[% relissue.charge %] |
- [% relissue.replacementprice %] | [% relissue.borrowername %] ([% relissue.cardnumber %]) |
+ [% relissue.replacementprice %] | [% relissue.firstname %] [% relissue.surname %] ([% relissue.cardnumber %]) |
[% END %]
[% END %]
@@ -900,10 +906,10 @@ No patron matched [% message %]
[% UNLESS noItemTypeImages %][% IF relprevissue.itemtype_image %] [% END %][% END %][% relprevissue.itemtype %] |
[% relprevissue.displaydate %] |
[% relprevissue.itemcallnumber %] |
- [% IF ( relprevissue.multiple_borrowers ) %][% relprevissue.borrowername %] | [% END %]
+ [% IF ( relprevissue.multiple_borrowers ) %][% relprevissue.firstname %] [% relprevissue.surname %] | [% END %]
[% relprevissue.charge %] |
[% relprevissue.replacementprice %] |
- [% relprevissue.borrowername %] ([% relprevissue.cardnumber %]) |
+ [% relprevissue.firstname %] [% relprevissue.surname %] ([% relprevissue.cardnumber %]) |
[% END %]
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
index db9ae4d10b..11f36e2191 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt
@@ -562,7 +562,7 @@ function validate1(date) {
[% relissueloo.itemcallnumber %] |
[% relissueloo.charge %] |
[% relissueloo.replacementprice %] |
- [% relissueloo.borrowername %] ([% relissueloo.cardnumber %]) |
+ [% relissueloo.firstname %] [% relissueloo.surname %] ([% relissueloo.cardnumber %]) |
[% END %]
diff --git a/members/moremember.pl b/members/moremember.pl
index bfaa4029f1..7b0e2d44a6 100755
--- a/members/moremember.pl
+++ b/members/moremember.pl
@@ -259,10 +259,6 @@ sub build_issue_data {
my $localissue;
for ( my $i = 0 ; $i < $issuecount ; $i++ ) {
- # Getting borrower details
- my $memberdetails = GetMemberDetails($issue->[$i]{'borrowernumber'});
- $issue->[$i]{'borrowername'} = $memberdetails->{'firstname'} . " " . $memberdetails->{'surname'};
- $issue->[$i]{'cardnumber'} = $memberdetails->{'cardnumber'};
my $datedue = $issue->[$i]{'date_due'};
my $issuedate = $issue->[$i]{'issuedate'};
$issue->[$i]{'date_due'} = C4::Dates->new($issue->[$i]{'date_due'}, 'iso')->output('syspref');
@@ -305,7 +301,7 @@ sub build_issue_data {
#find the charge for an item
my ( $charge, $itemtype ) =
- GetIssuingCharges( $issue->[$i]{'itemnumber'}, $borrowernumber );
+ GetIssuingCharges( $issue->[$i]{'itemnumber'}, $issue->[$i]{'borrowernumber'} );
my $itemtypeinfo = getitemtypeinfo($itemtype);
$row{'itemtype_description'} = $itemtypeinfo->{description};
@@ -313,7 +309,7 @@ sub build_issue_data {
$row{'charge'} = sprintf( "%.2f", $charge );
- my ( $renewokay,$renewerror ) = CanBookBeRenewed( $borrowernumber, $issue->[$i]{'itemnumber'}, $override_limit );
+ my ( $renewokay,$renewerror ) = CanBookBeRenewed( $issue->[$i]{'borrowernumber'}, $issue->[$i]{'itemnumber'}, $override_limit );
$row{'norenew'} = !$renewokay;
$row{'can_confirm'} = ( !$renewokay && $renewerror ne 'on_reserve' );
$row{"norenew_reason_$renewerror"} = 1 if $renewerror;