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 2568-2617 sub GetOpenIssue { Link Here
2568
2567
2569
}
2568
}
2570
2569
2571
=head2 GetBiblioIssues
2572
2573
  $issues = GetBiblioIssues($biblionumber);
2574
2575
this function get all issues from a biblionumber.
2576
2577
Return:
2578
C<$issues> is a reference to array which each value is ref-to-hash. This ref-to-hash contains all column from
2579
tables issues and the firstname,surname & cardnumber from borrowers.
2580
2581
=cut
2582
2583
sub GetBiblioIssues {
2584
    my $biblionumber = shift;
2585
    return unless $biblionumber;
2586
    my $dbh   = C4::Context->dbh;
2587
    my $query = "
2588
        SELECT issues.*,items.barcode,biblio.biblionumber,biblio.title, biblio.author,borrowers.cardnumber,borrowers.surname,borrowers.firstname
2589
        FROM issues
2590
            LEFT JOIN borrowers ON borrowers.borrowernumber = issues.borrowernumber
2591
            LEFT JOIN items ON issues.itemnumber = items.itemnumber
2592
            LEFT JOIN biblioitems ON items.itemnumber = biblioitems.biblioitemnumber
2593
            LEFT JOIN biblio ON biblio.biblionumber = items.biblionumber
2594
        WHERE biblio.biblionumber = ?
2595
        UNION ALL
2596
        SELECT old_issues.*,items.barcode,biblio.biblionumber,biblio.title, biblio.author,borrowers.cardnumber,borrowers.surname,borrowers.firstname
2597
        FROM old_issues
2598
            LEFT JOIN borrowers ON borrowers.borrowernumber = old_issues.borrowernumber
2599
            LEFT JOIN items ON old_issues.itemnumber = items.itemnumber
2600
            LEFT JOIN biblioitems ON items.itemnumber = biblioitems.biblioitemnumber
2601
            LEFT JOIN biblio ON biblio.biblionumber = items.biblionumber
2602
        WHERE biblio.biblionumber = ?
2603
        ORDER BY timestamp
2604
    ";
2605
    my $sth = $dbh->prepare($query);
2606
    $sth->execute($biblionumber, $biblionumber);
2607
2608
    my @issues;
2609
    while ( my $data = $sth->fetchrow_hashref ) {
2610
        push @issues, $data;
2611
    }
2612
    return \@issues;
2613
}
2614
2615
=head2 GetUpcomingDueIssues
2570
=head2 GetUpcomingDueIssues
2616
2571
2617
  my $upcoming_dues = GetUpcomingDueIssues( { days_in_advance => 4 } );
2572
  my $upcoming_dues = GetUpcomingDueIssues( { days_in_advance => 4 } );
(-)a/C4/ILSDI/Services.pm (-2 / +9 lines)
Lines 228-234 sub GetRecords { Link Here
228
        # Get most of the needed data
228
        # Get most of the needed data
229
        my $biblioitemnumber = $biblioitem->{'biblioitemnumber'};
229
        my $biblioitemnumber = $biblioitem->{'biblioitemnumber'};
230
        my $holds  = $biblio->current_holds->unblessed;
230
        my $holds  = $biblio->current_holds->unblessed;
231
        my $issues           = GetBiblioIssues($biblionumber);
231
        my $checkouts = Koha::Checkouts->search(
232
            { biblionumber => $biblionumber },
233
            {
234
                join => 'item',
235
                '+select' => ['item.barcode'],
236
                '+as'     => ['barcode'],
237
            }
238
        )->unblessed;
232
        my @items            = $biblio->items->as_list;
239
        my @items            = $biblio->items->as_list;
233
240
234
        $biblioitem->{items}->{item} = [];
241
        $biblioitem->{items}->{item} = [];
Lines 260-266 sub GetRecords { Link Here
260
267
261
        # Hashref building...
268
        # Hashref building...
262
        $biblioitem->{'reserves'}->{'reserve'} = $holds;
269
        $biblioitem->{'reserves'}->{'reserve'} = $holds;
263
        $biblioitem->{'issues'}->{'issue'}     = $issues;
270
        $biblioitem->{'issues'}->{'issue'}     = $checkouts;
264
271
265
        push @records, $biblioitem;
272
        push @records, $biblioitem;
266
    }
273
    }
(-)a/t/db_dependent/Circulation/issue.t (-5 lines)
Lines 48-54 can_ok( Link Here
48
      AddIssuingCharge
48
      AddIssuingCharge
49
      AddRenewal
49
      AddRenewal
50
      AddReturn
50
      AddReturn
51
      GetBiblioIssues
52
      GetIssuingCharges
51
      GetIssuingCharges
53
      GetOpenIssue
52
      GetOpenIssue
54
      GetRenewCount
53
      GetRenewCount
Lines 297-305 subtest 'Show that AddRenewal respects OpacRenewalBranch and interface' => sub { Link Here
297
    }
296
    }
298
};
297
};
299
298
300
#Test GetBiblioIssues
301
is( GetBiblioIssues(), undef, "GetBiblio Issues without parameters" );
302
303
#Test GetOpenIssue
299
#Test GetOpenIssue
304
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
300
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
305
is( GetOpenIssue(-1), undef,
301
is( GetOpenIssue(-1), undef,
306
- 

Return to bug 21301