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 2644-2693 sub GetOpenIssue { Link Here
2644
2643
2645
}
2644
}
2646
2645
2647
=head2 GetBiblioIssues
2648
2649
  $issues = GetBiblioIssues($biblionumber);
2650
2651
this function get all issues from a biblionumber.
2652
2653
Return:
2654
C<$issues> is a reference to array which each value is ref-to-hash. This ref-to-hash contains all column from
2655
tables issues and the firstname,surname & cardnumber from borrowers.
2656
2657
=cut
2658
2659
sub GetBiblioIssues {
2660
    my $biblionumber = shift;
2661
    return unless $biblionumber;
2662
    my $dbh   = C4::Context->dbh;
2663
    my $query = "
2664
        SELECT issues.*,items.barcode,biblio.biblionumber,biblio.title, biblio.author,borrowers.cardnumber,borrowers.surname,borrowers.firstname
2665
        FROM issues
2666
            LEFT JOIN borrowers ON borrowers.borrowernumber = issues.borrowernumber
2667
            LEFT JOIN items ON issues.itemnumber = items.itemnumber
2668
            LEFT JOIN biblioitems ON items.itemnumber = biblioitems.biblioitemnumber
2669
            LEFT JOIN biblio ON biblio.biblionumber = items.biblionumber
2670
        WHERE biblio.biblionumber = ?
2671
        UNION ALL
2672
        SELECT old_issues.*,items.barcode,biblio.biblionumber,biblio.title, biblio.author,borrowers.cardnumber,borrowers.surname,borrowers.firstname
2673
        FROM old_issues
2674
            LEFT JOIN borrowers ON borrowers.borrowernumber = old_issues.borrowernumber
2675
            LEFT JOIN items ON old_issues.itemnumber = items.itemnumber
2676
            LEFT JOIN biblioitems ON items.itemnumber = biblioitems.biblioitemnumber
2677
            LEFT JOIN biblio ON biblio.biblionumber = items.biblionumber
2678
        WHERE biblio.biblionumber = ?
2679
        ORDER BY timestamp
2680
    ";
2681
    my $sth = $dbh->prepare($query);
2682
    $sth->execute($biblionumber, $biblionumber);
2683
2684
    my @issues;
2685
    while ( my $data = $sth->fetchrow_hashref ) {
2686
        push @issues, $data;
2687
    }
2688
    return \@issues;
2689
}
2690
2691
=head2 GetUpcomingDueIssues
2646
=head2 GetUpcomingDueIssues
2692
2647
2693
  my $upcoming_dues = GetUpcomingDueIssues( { days_in_advance => 4 } );
2648
  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 274-280 sub GetRecords { Link Here
274
281
275
        # Hashref building...
282
        # Hashref building...
276
        $biblioitem->{'reserves'}->{'reserve'} = $holds;
283
        $biblioitem->{'reserves'}->{'reserve'} = $holds;
277
        $biblioitem->{'issues'}->{'issue'}     = $issues;
284
        $biblioitem->{'issues'}->{'issue'}     = $checkouts;
278
285
279
        push @records, $biblioitem;
286
        push @records, $biblioitem;
280
    }
287
    }
(-)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