[Koha-patches] [PATCH] [3.0.x](bug #4084) fix offline circ

Nahuel ANGELINETTI nahuel.angelinetti at biblibre.com
Mon Feb 1 12:32:26 CET 2010


this add the function C4::Circulation::GetOpenIssue and delete \r chars when processing koc files.
---
 C4/Circulation.pm           |   24 +++++++++++++++++++++++-
 offline_circ/process_koc.pl |    7 ++++---
 2 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/C4/Circulation.pm b/C4/Circulation.pm
index cfa1519..6fce6dc 100644
--- a/C4/Circulation.pm
+++ b/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);
diff --git a/offline_circ/process_koc.pl b/offline_circ/process_koc.pl
index 87ae5c1..d3d9105 100755
--- a/offline_circ/process_koc.pl
+++ b/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.";
     
-- 
1.6.3.3




More information about the Koha-patches mailing list