Browse Source

[3.0.x](bug #4084) fix offline circ

this add the function C4::Circulation::GetOpenIssue and delete \r chars when processing koc files.
3.0.x
Nahuel ANGELINETTI 14 years ago
committed by Henri-Damien LAURENT
parent
commit
5af80ab9ab
  1. 24
      C4/Circulation.pm
  2. 7
      offline_circ/process_koc.pl

24
C4/Circulation.pm

@ -73,6 +73,7 @@ BEGIN {
&GetBranchBorrowerCircRule
&GetBranchItemRule
&GetBiblioIssues
&GetOpenIssue
&AnonymiseIssueHistory
);
@ -879,7 +880,6 @@ sub AddIssue {
my ( $borrower, $barcode, $datedue, $cancelreserve, $issuedate, $sipmode) = @_;
my $dbh = C4::Context->dbh;
my $barcodecheck=CheckValidBarcode($barcode);
# $issuedate defaults to today.
if ( ! defined $issuedate ) {
$issuedate = strftime( "%Y-%m-%d", localtime );
@ -1793,6 +1793,28 @@ sub GetItemIssue {
return ($data);
}
=head2 GetOpenIssue
$issue = GetOpenIssue( $itemnumber );
Returns the row from the issues table if the item is currently issued, undef if the item is not currently issued
C<$itemnumber> is the item's itemnumber
Returns a hashref
=cut
sub GetOpenIssue {
my ( $itemnumber ) = @_;
my $dbh = C4::Context->dbh;
my $sth = $dbh->prepare( "SELECT * FROM issues WHERE itemnumber = ? AND returndate IS NULL" );
$sth->execute( $itemnumber );
my $issue = $sth->fetchrow_hashref();
return $issue;
}
=head2 GetItemIssues
$issues = &GetItemIssues($itemnumber, $history);

7
offline_circ/process_koc.pl

@ -189,7 +189,8 @@ sub parse_header_line {
sub parse_command_line {
my $command_line = shift;
chomp($command_line);
$command_line =~ s/\r//g;
my ( $timestamp, $command, @args ) = split( /\t/, $command_line );
my ( $date, $time, $id ) = split( /\s/, $timestamp );
@ -248,11 +249,11 @@ sub kocIssueItem {
my ( $year, $month, $day ) = split( /-/, $circ->{'date'} );
( $year, $month, $day ) = Add_Delta_Days( $year, $month, $day, $issuelength );
my $date_due = sprintf("%04d-%02d-%02d", $year, $month, $day);
if ( $issue->{ 'date_due' } ) { ## Item is currently checked out to another person.
#warn "Item Currently Issued.";
my $issue = GetOpenIssue( $item->{'itemnumber'} );
if ( $issue->{'borrowernumber'} eq $borrower->{'borrowernumber'} ) { ## Issued to this person already, renew it.
#warn "Item issued to this member already, renewing.";

Loading…
Cancel
Save