[Koha-patches] [PATCH] Improvements to offline circ report (linking to title and patron records), and moving English strings from the script into the template to allow translation.

Owen Leonard oleonard at myacpl.org
Thu Oct 2 22:19:55 CEST 2008


---
 .../prog/en/modules/offline_circ/process_koc.tmpl  |   17 ++++-
 offline_circ/process_koc.pl                        |   74 +++++++++++++++++---
 2 files changed, 76 insertions(+), 15 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/offline_circ/process_koc.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/offline_circ/process_koc.tmpl
index 4c1d2ea..d4d2d57 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/offline_circ/process_koc.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/offline_circ/process_koc.tmpl
@@ -31,14 +31,14 @@ function CheckForm(f) {
 </script>
 <style type="text/css">
 	#fileuploadstatus,#jobstatus { margin:.4em; }
-	#fileuploadprogress,#jobprogress{ width:150px;height:10px;border:1px solid #666;background:url('/intranet-tmpl/prog/img/progress.png') -300px 0px no-repeat; }
+	#fileuploadprogress,#jobprogress{ width:200px;height:10px;border:1px solid #666;background:url('/intranet-tmpl/prog/img/progress.png') -300px 0px no-repeat; }
 </style>
 </head>
 <body>
 <!-- TMPL_INCLUDE NAME="header.inc" -->
 <!-- TMPL_INCLUDE NAME="circ-search.inc" -->
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo; Offline Circulation File Upload</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo; <!-- TMPL_IF NAME="transactions_loaded" --> <a href="/cgi-bin/koha/offline_circ/process_koc.pl">Offline Circulation File Upload</a> &rsaquo; Results<!-- TMPL_ELSE --> Offline Circulation File Upload<!-- /TMPL_IF --></div>
 
 <div id="doc" class="yui-t7">
    
@@ -46,9 +46,18 @@ function CheckForm(f) {
 
 <!-- TMPL_IF NAME="transactions_loaded" -->
   <h2>Koha Offline Circulation</h2>
-  <p>Your data was processed. Here are the results.</p>
+  <p>Your data was processed. Here are the results:</p>
   <!-- TMPL_LOOP NAME="messages" -->
-    <p><!-- TMPL_VAR NAME="message" --></p>
+    <!-- TMPL_IF NAME="message" -->
+	<div class="dialog alert">
+		<!-- TMPL_IF NAME="ERROR_file_version" --><p>Warning: This file is version <!-- TMPL_VAR NAME="upload_version" -->, but I only know how to import version <!-- TMPL_VAR NAME="current_version" -->. I'll try my best.</p><!-- /TMPL_IF -->
+	</div>
+	<!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="ERROR_no_borrower_from_item" --><p>Warning: Unable to determine patron from item barcode (<!-- TMPL_VAR NAME="badbarcode" -->). Cannot check in.</p><!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="issue" --><p>Checked out <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" --></a> (<!-- TMPL_VAR NAME="barcode" -->) to <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --></a> (<!-- TMPL_VAR NAME="cardnumber" -->): <!-- TMPL_VAR NAME="datetime" --></p><!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="renew" --><p>Renewed <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" --></a>  (<!-- TMPL_VAR NAME="barcode" -->) for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --></a> (<!-- TMPL_VAR NAME="cardnumber" -->): <!-- TMPL_VAR NAME="datetime" --></p><!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="return" --><p>Checked in <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" --></a> (<!-- TMPL_VAR NAME="barcode" -->) from <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --></a> (<!-- TMPL_VAR NAME="cardnumber" -->): <!-- TMPL_VAR NAME="datetime" --></p><!-- /TMPL_IF -->
+	<!-- TMPL_IF NAME="payment" --><p>Accepted payment (<!-- TMPL_VAR NAME="amount" -->) from <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=<!-- TMPL_VAR NAME="borrowernumber" -->"><!-- TMPL_VAR NAME="firstname" --> <!-- TMPL_VAR NAME="surname" --></a> (<!-- TMPL_VAR NAME="cardnumber" -->): <!-- TMPL_VAR NAME="datetime" --></p><!-- /TMPL_IF -->
   <!-- /TMPL_LOOP -->
 <!-- TMPL_ELSE -->
   <h2>Upload Offline Circulation Data</h2>
diff --git a/offline_circ/process_koc.pl b/offline_circ/process_koc.pl
index 5b3d749..bc76583 100755
--- a/offline_circ/process_koc.pl
+++ b/offline_circ/process_koc.pl
@@ -115,7 +115,11 @@ if ($completedJobID) {
     my $header_line = shift @input_lines;
     my $file_info   = parse_header_line($header_line);
     if ($file_info->{'Version'} ne $FILE_VERSION) {
-        push( @output, { message => "Warning: This file is version '$file_info->{'Version'}', but I only know how to import version '$FILE_VERSION'. I'll try my best." } );
+      push( @output, { message => 1,
+      ERROR_file_version => 1,
+      upload_version => $file_info->{'Version'},
+      current_version => $FILE_VERSION
+      } );
     }
     
     
@@ -260,7 +264,16 @@ sub kocIssueItem {
         $circ->{'date'},               # issuedate
     ) unless ($DEBUG);
 
-      push( @output, { message => "Renewed $item->{ 'title' } ( $item->{ 'barcode' } ) to $borrower->{ 'firstname' } $borrower->{ 'surename' } ( $borrower->{'cardnumber'} ) : $circ->{ 'datetime' }\n" } );
+      push( @output, { renew => 1,
+    title => $item->{ 'title' },
+    biblionumber => $item->{'biblionumber'},
+    barcode => $item->{ 'barcode' },
+    firstname => $borrower->{ 'firstname' },
+    surname => $borrower->{ 'surname' },
+    borrowernumber => $borrower->{'borrowernumber'},
+    cardnumber => $borrower->{'cardnumber'},
+    datetime => $circ->{ 'datetime' }
+    } );
 
     } else {
 #warn "Item issued to a different member.";
@@ -272,7 +285,16 @@ sub kocIssueItem {
       if ( Date_to_Days( $i_y, $i_m, $i_d ) < Date_to_Days( $c_y, $c_m, $c_d ) ) { ## Current issue to a different persion is older than this issue, return and issue.
         my $date_due_object = C4::Dates->new($date_due ,'iso');
         C4::Circulation::AddIssue( $borrower, $circ->{'barcode'}, $date_due_object ) unless ( DEBUG );
-        push( @output, { message => "Issued $item->{ 'title' } ( $item->{ 'barcode' } ) to $borrower->{ 'firstname' } $borrower->{ 'surename' } ( $borrower->{'cardnumber'} ) : $circ->{ 'datetime' }\n" } );
+        push( @output, { issue => 1,
+    title => $item->{ 'title' },
+    biblionumber => $item->{'biblionumber'},
+    barcode => $item->{ 'barcode' },
+    firstname => $borrower->{ 'firstname' },
+    surname => $borrower->{ 'surname' },
+    borrowernumber => $borrower->{'borrowernumber'},
+    cardnumber => $borrower->{'cardnumber'},
+    datetime => $circ->{ 'datetime' }
+    } );
 
       } else { ## Current issue is *newer* than this issue, write a 'returned' issue, as the item is most likely in the hands of someone else now.
 #warn "Current issue to another member is newer. Doing nothing";
@@ -284,8 +306,17 @@ sub kocIssueItem {
   } else { ## Item is not checked out to anyone at the moment, go ahead and issue it
       my $date_due_object = C4::Dates->new($date_due ,'iso');
       C4::Circulation::AddIssue( $borrower, $circ->{'barcode'}, $date_due_object ) unless ( DEBUG );
-    push( @output, { message => "Issued $item->{ 'title' } ( $item->{ 'barcode' } ) to $borrower->{ 'firstname' } $borrower->{ 'surename' } ( $borrower->{'cardnumber'} ) : $circ->{ 'datetime' }\n" } );
-  }  
+    push( @output, { issue => 1,
+    title => $item->{ 'title' },
+    biblionumber => $item->{'biblionumber'},
+    barcode => $item->{ 'barcode' },
+    firstname => $borrower->{ 'firstname' },
+    surname => $borrower->{ 'surname' },
+    borrowernumber => $borrower->{'borrowernumber'},
+    cardnumber => $borrower->{'cardnumber'},
+    datetime =>$circ->{ 'datetime' }
+    } );
+	 }  
 }
 
 sub kocReturnItem {
@@ -293,22 +324,43 @@ sub kocReturnItem {
   my $item = GetBiblioFromItemNumber( undef, $circ->{ 'barcode' } );
   #warn( Data::Dumper->Dump( [ $circ, $item ], [ qw( circ item ) ] ) );
   my $borrowernumber = _get_borrowernumber_from_barcode( $circ->{'barcode'} );
-  unless ( $borrowernumber ) {
-      push( @output, { message => "Warning: unable to determine borrower from item ($item->{'barcode'}). Cannot mark returned\n" } );
-  }
-  C4::Circulation::MarkIssueReturned( $borrowernumber,
+  if ( $borrowernumber ) {
+  my $borrower = GetMember( $borrowernumber, 'borrowernumber' );
+    C4::Circulation::MarkIssueReturned( $borrowernumber,
                                       $item->{'itemnumber'},
                                       undef,
                                       $circ->{'date'} );
   
-  push( @output, { message => "Returned $item->{ 'title' } ( $item->{ 'barcode' } ) From borrower number $borrowernumber : $circ->{ 'datetime' }\n" } ); 
+  push( @output, { return => 1,
+    title => $item->{ 'title' },
+    biblionumber => $item->{'biblionumber'},
+    barcode => $item->{ 'barcode' },
+    borrowernumber => $borrower->{'borrowernumber'},
+    firstname => $borrower->{'firstname'},
+    surname => $borrower->{'surname'},
+    cardnumber => $borrower->{'cardnumber'},
+    datetime => $circ->{ 'datetime' }
+    } ); 
+  } else {
+    push( @output, { ERROR_no_borrower_from_item => 1,
+    badbarcode => $circ->{'barcode'}
+    } );
+  
+  }
+
 }
 
 sub kocMakePayment {
   my ( $circ ) = @_;
   my $borrower = GetMember( $circ->{ 'cardnumber' }, 'cardnumber' );
   recordpayment( $borrower->{'borrowernumber'}, $circ->{'amount'} );
-  push( @output, { message => "accepted payment ($circ->{'amount'}) from cardnumber ($circ->{'cardnumber'}), borrower ($borrower->{'borrowernumber'})" } );
+  push( @output, { payment => 1,
+    amount => $circ->{'amount'},
+    firstname => $borrower->{'firstname'},
+    surname => $borrower->{'surname'},
+    cardnumber => $circ->{'cardnumber'},
+    borrower => $borrower->{'borrowernumber'}
+    } );
 }
 
 =head3 _get_borrowernumber_from_barcode
-- 
1.5.5.GIT




More information about the Koha-patches mailing list