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

(-)a/C4/Circulation.pm (-45 lines)
Lines 98-104 BEGIN { Link Here
98
		&GetIssuingCharges
98
		&GetIssuingCharges
99
        &GetBranchBorrowerCircRule
99
        &GetBranchBorrowerCircRule
100
        &GetBranchItemRule
100
        &GetBranchItemRule
101
		&GetBiblioIssues
102
		&GetOpenIssue
101
		&GetOpenIssue
103
        &CheckIfIssuedToPatron
102
        &CheckIfIssuedToPatron
104
        &IsItemIssued
103
        &IsItemIssued
Lines 2533-2582 sub GetOpenIssue { Link Here
2533
2532
2534
}
2533
}
2535
2534
2536
=head2 GetBiblioIssues
2537
2538
  $issues = GetBiblioIssues($biblionumber);
2539
2540
this function get all issues from a biblionumber.
2541
2542
Return:
2543
C<$issues> is a reference to array which each value is ref-to-hash. This ref-to-hash contains all column from
2544
tables issues and the firstname,surname & cardnumber from borrowers.
2545
2546
=cut
2547
2548
sub GetBiblioIssues {
2549
    my $biblionumber = shift;
2550
    return unless $biblionumber;
2551
    my $dbh   = C4::Context->dbh;
2552
    my $query = "
2553
        SELECT issues.*,items.barcode,biblio.biblionumber,biblio.title, biblio.author,borrowers.cardnumber,borrowers.surname,borrowers.firstname
2554
        FROM issues
2555
            LEFT JOIN borrowers ON borrowers.borrowernumber = issues.borrowernumber
2556
            LEFT JOIN items ON issues.itemnumber = items.itemnumber
2557
            LEFT JOIN biblioitems ON items.itemnumber = biblioitems.biblioitemnumber
2558
            LEFT JOIN biblio ON biblio.biblionumber = items.biblionumber
2559
        WHERE biblio.biblionumber = ?
2560
        UNION ALL
2561
        SELECT old_issues.*,items.barcode,biblio.biblionumber,biblio.title, biblio.author,borrowers.cardnumber,borrowers.surname,borrowers.firstname
2562
        FROM old_issues
2563
            LEFT JOIN borrowers ON borrowers.borrowernumber = old_issues.borrowernumber
2564
            LEFT JOIN items ON old_issues.itemnumber = items.itemnumber
2565
            LEFT JOIN biblioitems ON items.itemnumber = biblioitems.biblioitemnumber
2566
            LEFT JOIN biblio ON biblio.biblionumber = items.biblionumber
2567
        WHERE biblio.biblionumber = ?
2568
        ORDER BY timestamp
2569
    ";
2570
    my $sth = $dbh->prepare($query);
2571
    $sth->execute($biblionumber, $biblionumber);
2572
2573
    my @issues;
2574
    while ( my $data = $sth->fetchrow_hashref ) {
2575
        push @issues, $data;
2576
    }
2577
    return \@issues;
2578
}
2579
2580
=head2 GetUpcomingDueIssues
2535
=head2 GetUpcomingDueIssues
2581
2536
2582
  my $upcoming_dues = GetUpcomingDueIssues( { days_in_advance => 4 } );
2537
  my $upcoming_dues = GetUpcomingDueIssues( { days_in_advance => 4 } );
(-)a/C4/ILSDI/Services.pm (-2 / +9 lines)
Lines 229-235 sub GetRecords { Link Here
229
        # Get most of the needed data
229
        # Get most of the needed data
230
        my $biblioitemnumber = $biblioitem->{'biblioitemnumber'};
230
        my $biblioitemnumber = $biblioitem->{'biblioitemnumber'};
231
        my $holds  = $biblio->current_holds->unblessed;
231
        my $holds  = $biblio->current_holds->unblessed;
232
        my $issues           = GetBiblioIssues($biblionumber);
232
        my $checkouts = Koha::Checkouts->search(
233
            { biblionumber => $biblionumber },
234
            {
235
                join => 'item',
236
                '+select' => ['item.barcode'],
237
                '+as'     => ['barcode'],
238
            }
239
        )->unblessed;
233
        my @items            = $biblio->items->as_list;
240
        my @items            = $biblio->items->as_list;
234
241
235
        $biblioitem->{items}->{item} = [];
242
        $biblioitem->{items}->{item} = [];
Lines 261-267 sub GetRecords { Link Here
261
268
262
        # Hashref building...
269
        # Hashref building...
263
        $biblioitem->{'reserves'}->{'reserve'} = $holds;
270
        $biblioitem->{'reserves'}->{'reserve'} = $holds;
264
        $biblioitem->{'issues'}->{'issue'}     = $issues;
271
        $biblioitem->{'issues'}->{'issue'}     = $checkouts;
265
272
266
        push @records, $biblioitem;
273
        push @records, $biblioitem;
267
    }
274
    }
(-)a/t/db_dependent/Circulation/issue.t (-5 lines)
Lines 46-52 can_ok( Link Here
46
      AddIssuingCharge
46
      AddIssuingCharge
47
      AddRenewal
47
      AddRenewal
48
      AddReturn
48
      AddReturn
49
      GetBiblioIssues
50
      GetIssuingCharges
49
      GetIssuingCharges
51
      GetOpenIssue
50
      GetOpenIssue
52
      GetRenewCount
51
      GetRenewCount
Lines 263-271 ok( $stat, "Bug 18572 - 'Bug 18572 - OpacRenewalBranch is now respected" ); Link Here
263
262
264
263
265
264
266
#Test GetBiblioIssues
267
is( GetBiblioIssues(), undef, "GetBiblio Issues without parameters" );
268
269
#Test GetOpenIssue
265
#Test GetOpenIssue
270
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
266
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
271
is( GetOpenIssue(-1), undef,
267
is( GetOpenIssue(-1), undef,
272
- 

Return to bug 21301