From 1894c6e662586cbe3633b5146c437e9aecb56144 Mon Sep 17 00:00:00 2001 From: Srdjan Date: Mon, 14 May 2012 15:17:13 +1200 Subject: [PATCH] bug_8056: sorted out slip print calls --- 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