[Koha-patches] [PATCH] bug_8056: sorted out slip print calls

Srdjan srdjan at catalyst.net.nz
Mon May 14 05:19:08 CEST 2012


---
 C4/Members.pm                        |    1 -
 C4/Print.pm                          |   43 ++++++----------------------------
 circ/circulation.pl                  |    6 ++++-
 t/db_dependent/lib/KohaTest/Print.pm |    2 +-
 4 files changed, 13 insertions(+), 39 deletions(-)

diff --git a/C4/Members.pm b/C4/Members.pm
index 6161ac9..693e0ba 100644
--- a/C4/Members.pm
+++ b/C4/Members.pm
@@ -997,7 +997,6 @@ sub GetPendingIssues {
     # must avoid biblioitems.* to prevent large marc and marcxml fields from killing performance
     # FIXME: namespace collision: each table has "timestamp" fields.  Which one is "timestamp" ?
     # FIXME: circ/ciculation.pl tries to sort by timestamp!
-    # FIXME: C4::Print::printslip tries to sort by timestamp!
     # FIXME: namespace collision: other collisions possible.
     # FIXME: most of this data isn't really being used by callers.
     my $query =
diff --git a/C4/Print.pm b/C4/Print.pm
index c0b37c8..9f622a4 100644
--- a/C4/Print.pm
+++ b/C4/Print.pm
@@ -28,7 +28,7 @@ BEGIN {
 	$VERSION = 3.01;
 	require Exporter;
 	@ISA    = qw(Exporter);
-	@EXPORT = qw(&printslip);
+	@EXPORT = qw(&NetworkPrint);
 }
 
 =head1 NAME
@@ -45,45 +45,16 @@ The functions in this module handle sending text to a printer.
 
 =head1 FUNCTIONS
 
-=cut
-
-=for comment
-    my $slip = <<"EOF";
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Date: $todaysdate;
-
-ITEM RESERVED:
-$itemdata->{'title'} ($itemdata->{'author'})
-barcode: $itemdata->{'barcode'}
-
-COLLECT AT: $branchname
-
-BORROWER:
-$bordata->{'surname'}, $bordata->{'firstname'}
-card number: $bordata->{'cardnumber'}
-Phone: $bordata->{'phone'}
-$bordata->{'streetaddress'}
-$bordata->{'suburb'}
-$bordata->{'town'}
-$bordata->{'emailaddress'}
+=head2 NetworkPrint
 
+  &NetworkPrint($text)
 
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-EOF
-=cut
-
-=head2 printslip
-
-  &printslip($slip)
-
-print a slip for the given $borrowernumber and $branchcode
+Queue some text for printing on the selected branch printer
 
 =cut
 
-sub printslip ($) {
-    my ($slip) = @_;
-
-    return unless ( C4::Context->boolean_preference('printcirculationslips') );
+sub NetworkPrint {
+    my ($text) = @_;
 
 # FIXME - It'd be nifty if this could generate pretty PostScript.
 
@@ -112,7 +83,7 @@ sub printslip ($) {
 
     #  print $queue;
     #open (FILE,">/tmp/$file");
-    print PRINTER $slip;
+    print PRINTER $text;
     print PRINTER "\r\n" x 7 ;
     close PRINTER;
 
diff --git a/circ/circulation.pl b/circ/circulation.pl
index bcbcb6f..c89abff 100755
--- a/circ/circulation.pl
+++ b/circ/circulation.pl
@@ -25,6 +25,7 @@ use strict;
 use warnings;
 use CGI;
 use C4::Output;
+use C4::Print;
 use C4::Auth qw/:DEFAULT get_session/;
 use C4::Dates qw/format_date/;
 use C4::Branch; # GetBranches
@@ -172,7 +173,10 @@ if ( $barcode eq '' && $query->param('charges') eq 'yes' ) {
 }
 
 if ( $print eq 'yes' && $borrowernumber ne '' ) {
-    PrintIssueSlip($session->param('branch') || $branch, $borrowernumber);
+    if ( C4::Context->boolean_preference('printcirculationslips') ) {
+        my $letter = IssueSlip($branch, $borrowernumber, "QUICK");
+        NetworkPrint($letter->{content});
+    }
     $query->param( 'borrowernumber', '' );
     $borrowernumber = '';
 }
diff --git a/t/db_dependent/lib/KohaTest/Print.pm b/t/db_dependent/lib/KohaTest/Print.pm
index d35ab34..f720fee 100644
--- a/t/db_dependent/lib/KohaTest/Print.pm
+++ b/t/db_dependent/lib/KohaTest/Print.pm
@@ -12,7 +12,7 @@ sub testing_class { 'C4::Print' };
 
 sub methods : Test( 1 ) {
     my $self = shift;
-    my @methods = qw( printslip );
+    my @methods = qw( NetworkPrint );
     
     can_ok( $self->testing_class, @methods );    
 }
-- 
1.7.9.5



More information about the Koha-patches mailing list