View | Details | Raw Unified | Return to bug 11305
Collapse All | Expand All

(-)a/C4/ILSDI/Services.pm (-1 / +2 lines)
Lines 424-430 sub GetPatronInfo { Link Here
424
424
425
    # Issues management
425
    # Issues management
426
    if ( $cgi->param('show_loans') eq "1" ) {
426
    if ( $cgi->param('show_loans') eq "1" ) {
427
        my $issues = GetPendingIssues($borrowernumber);
427
        my $issues =
428
          GetPendingIssues( { borrowernumbers => [$borrowernumber] } );
428
        foreach my $issue ( @$issues ){
429
        foreach my $issue ( @$issues ){
429
            $issue->{'issuedate'} = $issue->{'issuedate'}->strftime('%Y-%m-%d %H:%M');
430
            $issue->{'issuedate'} = $issue->{'issuedate'}->strftime('%Y-%m-%d %H:%M');
430
            $issue->{'date_due'} = $issue->{'date_due'}->strftime('%Y-%m-%d %H:%M');
431
            $issue->{'date_due'} = $issue->{'date_due'}->strftime('%Y-%m-%d %H:%M');
(-)a/C4/Members.pm (-3 / +7 lines)
Lines 1001-1007 sub UpdateGuarantees { Link Here
1001
}
1001
}
1002
=head2 GetPendingIssues
1002
=head2 GetPendingIssues
1003
1003
1004
  my $issues = &GetPendingIssues(@borrowernumber);
1004
  my $issues = &GetPendingIssues({ borrowernumbers => \@borrowernumber [, limit => $limit ] });
1005
1005
1006
Looks up what the patron with the given borrowernumber has borrowed.
1006
Looks up what the patron with the given borrowernumber has borrowed.
1007
1007
Lines 1014-1020 The keys include C<biblioitems> fields except marc and marcxml. Link Here
1014
1014
1015
#'
1015
#'
1016
sub GetPendingIssues {
1016
sub GetPendingIssues {
1017
    my @borrowernumbers = @_;
1017
    my ( $params ) = @_;
1018
1019
    my @borrowernumbers = @{ $params->{borrowernumbers} };
1020
    my $limit           = $params->{limit};
1018
1021
1019
    unless (@borrowernumbers ) { # return a ref_to_array
1022
    unless (@borrowernumbers ) { # return a ref_to_array
1020
        return \@borrowernumbers; # to not cause surprise to caller
1023
        return \@borrowernumbers; # to not cause surprise to caller
Lines 1063-1069 sub GetPendingIssues { Link Here
1063
    LEFT JOIN borrowers ON issues.borrowernumber = borrowers.borrowernumber
1066
    LEFT JOIN borrowers ON issues.borrowernumber = borrowers.borrowernumber
1064
    WHERE
1067
    WHERE
1065
      $bquery
1068
      $bquery
1066
    ORDER BY issues.issuedate"
1069
    ORDER BY issues.issuedate DESC, issues.timestamp DESC
1070
    LIMIT $limit"
1067
    ;
1071
    ;
1068
1072
1069
    my $sth = C4::Context->dbh->prepare($query);
1073
    my $sth = C4::Context->dbh->prepare($query);
(-)a/C4/Reserves.pm (-18 / +20 lines)
Lines 362-388 TODO :: Descritpion Link Here
362
=cut
362
=cut
363
363
364
sub GetReservesFromBorrowernumber {
364
sub GetReservesFromBorrowernumber {
365
    my ( $borrowernumber, $status ) = @_;
365
    my ( $borrowernumber, $status, $count ) = @_;
366
    my $dbh   = C4::Context->dbh;
366
    my $dbh   = C4::Context->dbh;
367
    my $sth;
367
    my $sth;
368
    if ($status) {
368
    my @params;
369
        $sth = $dbh->prepare("
369
370
            SELECT *
370
    my $sql = "
371
            FROM   reserves
371
        SELECT *
372
            WHERE  borrowernumber=?
372
        FROM   reserves
373
                AND found =?
373
        WHERE  borrowernumber=?
374
            ORDER BY reservedate
374
    ";
375
        ");
375
    push( @params, $borrowernumber ); 
376
        $sth->execute($borrowernumber,$status);
376
377
    } else {
377
    if ( $status ) {
378
        $sth = $dbh->prepare("
378
        $sql .= " AND found = ? ";
379
            SELECT *
379
        push( @params, $status );
380
            FROM   reserves
381
            WHERE  borrowernumber=?
382
            ORDER BY reservedate
383
        ");
384
        $sth->execute($borrowernumber);
385
    }
380
    }
381
382
    $sql .= " ORDER BY reservedate ";
383
    $sql .- "LIMIT $count" if $count;
384
385
    $sth = $dbh->prepare( $sql );
386
    $sth->execute( @params );
387
386
    my $data = $sth->fetchall_arrayref({});
388
    my $data = $sth->fetchall_arrayref({});
387
    return @$data;
389
    return @$data;
388
}
390
}
(-)a/C4/SIP/ILS/Patron.pm (-1 / +2 lines)
Lines 116-122 sub new { Link Here
116
    # FIXME: populate fine_items recall_items
116
    # FIXME: populate fine_items recall_items
117
#   $ilspatron{hold_items}    = (GetReservesFromBorrowernumber($kp->{borrowernumber},'F'));
117
#   $ilspatron{hold_items}    = (GetReservesFromBorrowernumber($kp->{borrowernumber},'F'));
118
    $ilspatron{unavail_holds} = [(GetReservesFromBorrowernumber($kp->{borrowernumber}))];
118
    $ilspatron{unavail_holds} = [(GetReservesFromBorrowernumber($kp->{borrowernumber}))];
119
    $ilspatron{items} = GetPendingIssues($kp->{borrowernumber});
119
    $ilspatron{items} =
120
      GetPendingIssues( { borrowernumbers => [ $kp->{borrowernumber} ] } );
120
    $self = \%ilspatron;
121
    $self = \%ilspatron;
121
    $debug and warn Dumper($self);
122
    $debug and warn Dumper($self);
122
    syslog("LOG_DEBUG", "new ILS::Patron(%s): found patron '%s'", $patron_id,$self->{id});
123
    syslog("LOG_DEBUG", "new ILS::Patron(%s): found patron '%s'", $patron_id,$self->{id});
(-)a/circ/circulation.pl (-3 / +5 lines)
Lines 342-348 if ($borrowernumber) { Link Here
342
342
343
    # new op dev
343
    # new op dev
344
    # now we show the status of the borrower's reservations
344
    # now we show the status of the borrower's reservations
345
    my @borrowerreserv = GetReservesFromBorrowernumber($borrowernumber );
345
    my @borrowerreserv = GetReservesFromBorrowernumber($borrowernumber, undef, C4::Context->preference('CirculationRowsLimit') );
346
    my @reservloop;
346
    my @reservloop;
347
    my @WaitingReserveLoop;
347
    my @WaitingReserveLoop;
348
    
348
    
Lines 493-502 if ($borrower) { Link Here
493
    #push @borrowernumbers, $borrower->{'borrowernumber'};
493
    #push @borrowernumbers, $borrower->{'borrowernumber'};
494
494
495
    # get each issue of the borrower & separate them in todayissues & previous issues
495
    # get each issue of the borrower & separate them in todayissues & previous issues
496
    my $issueslist = GetPendingIssues($borrower->{'borrowernumber'});
496
    my $issueslist = GetPendingIssues(
497
        { borrowernumbers => [ $borrower->{'borrowernumber'} ], limit => C4::Context->preference('CirculationRowsLimit') } );
497
    my $relissueslist = [];
498
    my $relissueslist = [];
498
    if ( @relborrowernumbers ) {
499
    if ( @relborrowernumbers ) {
499
        $relissueslist = GetPendingIssues(@relborrowernumbers);
500
        $relissueslist =
501
          GetPendingIssues( { borrowernumbers => \@relborrowernumbers , limit => C4::Context->preference('CirculationRowsLimit') } );
500
    }
502
    }
501
503
502
    build_issue_data($issueslist, 0);
504
    build_issue_data($issueslist, 0);
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt (-3 / +4 lines)
Lines 1-3 Link Here
1
[% USE Koha %]
1
[% USE KohaBranchName %]
2
[% USE KohaBranchName %]
2
[% USE KohaDates %]
3
[% USE KohaDates %]
3
[% IF ( export_remove_fields OR export_with_csv_profile ) %]
4
[% IF ( export_remove_fields OR export_with_csv_profile ) %]
Lines 769-783 No patron matched <span class="ex">[% message %]</span> Link Here
769
770
770
<ul>
771
<ul>
771
<li>    [% IF ( issuecount ) %]
772
<li>    [% IF ( issuecount ) %]
772
            <a href="#checkouts">[% issuecount %] Checkout(s)</a>
773
            <a href="#checkouts">[% IF Koha.Preference('CirculationRowsLimit') %] Newest [% Koha.Preference('CirculationRowsLimit') %] of [% END %] [% issuecount %] Checkout(s)</a>
773
    [% ELSE %]
774
    [% ELSE %]
774
            <a href="#checkouts">0 Checkouts</a>
775
            <a href="#checkouts">0 Checkouts</a>
775
    [% END %]</li>
776
    [% END %]</li>
776
[% IF ( displayrelissues ) %]
777
[% IF ( displayrelissues ) %]
777
<li><a href="#relissues">Relatives' checkouts</a></li>
778
<li><a href="#relissues">[% IF Koha.Preference('CirculationRowsLimit') %] Newest [% Koha.Preference('CirculationRowsLimit') %] [% END %] Relatives' checkouts</a></li>
778
[% END %]
779
[% END %]
779
<li>[% IF ( countreserv ) %]
780
<li>[% IF ( countreserv ) %]
780
            <a href="#reserves">[% countreserv %] Hold(s)</a>
781
            <a href="#reserves">[% IF Koha.Preference('CirculationRowsLimit') %] Newest [% Koha.Preference('CirculationRowsLimit') %] of [% END %] [% countreserv %] Hold(s)</a>
781
    [% ELSE %]
782
    [% ELSE %]
782
            <a href="#reserves">0 Holds</a>
783
            <a href="#reserves">0 Holds</a>
783
    [% END %]</li>
784
    [% END %]</li>
(-)a/members/deletemem.pl (-1 / +1 lines)
Lines 45-51 my ($template, $borrowernumber, $cookie) Link Here
45
45
46
#print $input->header;
46
#print $input->header;
47
my $member=$input->param('member');
47
my $member=$input->param('member');
48
my $issues = GetPendingIssues($member);     # FIXME: wasteful call when really, we only want the count
48
my $issues = GetPendingIssues( { borrowernumbers => [$member] } );     # FIXME: wasteful call when really, we only want the count
49
my $countissues = scalar(@$issues);
49
my $countissues = scalar(@$issues);
50
50
51
my ($bor)=GetMemberDetails($member,'');
51
my ($bor)=GetMemberDetails($member,'');
(-)a/members/moremember.pl (-2 / +2 lines)
Lines 239-248 if ( C4::Context->preference('OPACPrivacy') ) { Link Here
239
# current issues
239
# current issues
240
#
240
#
241
my @borrowernumbers = GetMemberRelatives($borrowernumber);
241
my @borrowernumbers = GetMemberRelatives($borrowernumber);
242
my $issue       = GetPendingIssues($borrowernumber);
242
my $issue       = GetPendingIssues( { borrowernumbers => [$borrowernumber] } );
243
my $relissue    = [];
243
my $relissue    = [];
244
if ( @borrowernumbers ) {
244
if ( @borrowernumbers ) {
245
    $relissue    = GetPendingIssues(@borrowernumbers);
245
    $relissue    = GetPendingIssues( { borrowernumbers => \@borrowernumbers } );
246
}
246
}
247
my $roaddetails = &GetRoadTypeDetails( $data->{'streettype'} );
247
my $roaddetails = &GetRoadTypeDetails( $data->{'streettype'} );
248
my $today       = DateTime->now( time_zone => C4::Context->tz);
248
my $today       = DateTime->now( time_zone => C4::Context->tz);
(-)a/opac/opac-ics.pl (-1 / +1 lines)
Lines 56-62 my ( $borr ) = GetMemberDetails( $borrowernumber ); Link Here
56
my $calendar = Data::ICal->new();
56
my $calendar = Data::ICal->new();
57
57
58
# get issued items ....
58
# get issued items ....
59
my $issues = GetPendingIssues($borrowernumber);
59
my $issues = GetPendingIssues( { borrowernumbers => [$borrowernumber] } );
60
60
61
foreach my $issue ( @$issues ) {
61
foreach my $issue ( @$issues ) {
62
    my $vevent = Data::ICal::Entry::Event->new();
62
    my $vevent = Data::ICal::Entry::Event->new();
(-)a/opac/opac-user.pl (-1 / +1 lines)
Lines 154-160 my $overdues_count = 0; Link Here
154
my @overdues;
154
my @overdues;
155
my @issuedat;
155
my @issuedat;
156
my $itemtypes = GetItemTypes();
156
my $itemtypes = GetItemTypes();
157
my $issues = GetPendingIssues($borrowernumber);
157
my $issues = GetPendingIssues( { borrowernumbers => [$borrowernumber] } );
158
if ($issues){
158
if ($issues){
159
    foreach my $issue ( sort { $b->{date_due}->datetime() cmp $a->{date_due}->datetime() } @{$issues} ) {
159
    foreach my $issue ( sort { $b->{date_due}->datetime() cmp $a->{date_due}->datetime() } @{$issues} ) {
160
        # check for reserves
160
        # check for reserves
(-)a/opac/sco/sco-main.pl (-2 / +1 lines)
Lines 216-222 if ($borrower->{cardnumber}) { Link Here
216
#   warn   "user's  branchcode: " . $borrower->{branchcode};
216
#   warn   "user's  branchcode: " . $borrower->{branchcode};
217
    my $borrowername = sprintf "%s %s", ($borrower->{firstname} || ''), ($borrower->{surname} || '');
217
    my $borrowername = sprintf "%s %s", ($borrower->{firstname} || ''), ($borrower->{surname} || '');
218
    my @issues;
218
    my @issues;
219
    my ($issueslist) = GetPendingIssues( $borrower->{'borrowernumber'} );
219
    my ($issueslist) = GetPendingIssues( { borrowernumbers => [$borrower->{'borrowernumber'}] } );
220
    foreach my $it (@$issueslist) {
220
    foreach my $it (@$issueslist) {
221
        my ($renewokay, $renewerror) = CanBookBeIssued(
221
        my ($renewokay, $renewerror) = CanBookBeIssued(
222
            $borrower,
222
            $borrower,
223
- 

Return to bug 11305