# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-
-# $Id$
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict;
-require Exporter;
-
+#use warnings; FIXME - Bug 2505
use C4::Context;
use C4::Circulation;
+use C4::Members;
+use C4::Dates qw(format_date);
use vars qw($VERSION @ISA @EXPORT);
-# set the version for version checking
-# set the version for version checking
-$VERSION = do { my @v = '$Revision$' =~ /\d+/g;
- shift(@v) . "." . join( "_", map { sprintf "%03d", $_ } @v );
-};
+BEGIN {
+ # set the version for version checking
+ $VERSION = 3.01;
+ require Exporter;
+ @ISA = qw(Exporter);
+ @EXPORT = qw(&remoteprint &printreserve &printslip);
+}
=head1 NAME
=head1 FUNCTIONS
-=over 2
-
-=cut
-
-@ISA = qw(Exporter);
-@EXPORT = qw(&remoteprint &printreserve &printslip);
-
-=item remoteprint
+=head2 remoteprint
&remoteprint($items, $borrower);
=cut
# FIXME - It'd be nifty if this could generate pretty PostScript.
-sub remoteprint {
- my ($items, $borrower ) = @_;
+sub remoteprint ($$) {
+ my ($items, $borrower) = @_;
(return)
unless ( C4::Context->boolean_preference('printcirculationslips') );
print PRINTER "$itemdata->{'date_due'}\r\n";
$i++;
}
- print PRINTER "\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
+ print PRINTER "\r\n" x 7 ;
close PRINTER;
#system("lpr /tmp/$file");
sub printreserve {
my ( $branchname, $bordata, $itemdata ) = @_;
- my $file = time;
my $printer = '';
(return) unless ( C4::Context->boolean_preference('printreserveslips') );
if ( $printer eq "" || $printer eq 'nulllp' ) {
- open( PRINTER, ">>/tmp/kohares" );
+ open( PRINTER, ">>/tmp/kohares" )
+ or die "Could not write to /tmp/kohares";
}
else {
open( PRINTER, "| lpr -P $printer >/dev/null" )
or die "Couldn't write to queue:$!\n";
}
- my @da = localtime( time() );
- my $todaysdate = "$da[2]:$da[1] $da[3]/$da[4]/$da[5]";
-
-#(1900+$datearr[5]).sprintf ("%0.2d", ($datearr[4]+1)).sprintf ("%0.2d", $datearr[3]);
+ my @da = localtime();
+ my $todaysdate = "$da[2]:$da[1] " . C4::Dates->today();
my $slip = <<"EOF";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Date: $todaysdate;
return $slip;
}
-=item printslip
+=head2 printslip
&printslip($borrowernumber)
- print a slip for the given $borrowernumber
-
+print a slip for the given $borrowernumber
+
=cut
#'
-sub printslip {
- my ( $borrowernumber ) = @_;
- my ( $borrower, $flags ) = GetMemberDetails( $borrowernumber);
- my ($borrowerissues) = GetBorrowerIssues( $borrower );
- my ($borroweriss2) = GetBorrowerIssues( $borrower );
- my $i = 0;
- my @issues;
-
- foreach ( sort { $a <=> $b } keys %$borrowerissues ) {
- $issues[$i] = $borrowerissues->{$_};
- my $dd = $issues[$i]->{'date_due'};
-
- #convert to nz style dates
- #this should be set with some kinda config variable
- my @tempdate = split( /-/, $dd );
- $issues[$i]->{'date_due'} = "$tempdate[2]/$tempdate[1]/$tempdate[0]";
- $i++;
- }
- foreach ( sort { $a <=> $b } keys %$borroweriss2 ) {
- $issues[$i] = $borroweriss2->{$_};
- my $dd = $issues[$i]->{'date_due'};
-
- #convert to nz style dates
- #this should be set with some kinda config variable
- my @tempdate = split( /-/, $dd );
- $issues[$i]->{'date_due'} = "$tempdate[2]/$tempdate[1]/$tempdate[0]";
- $i++;
- }
+sub printslip ($) {
+ my $borrowernumber = shift;
+ my $borrower = GetMemberDetails($borrowernumber);
+ my $issueslist = GetPendingIssues($borrowernumber);
+ foreach my $it (@$issueslist){
+ $it->{'date_due'}=format_date($it->{'date_due'});
+ }
+ my @issues = sort { $b->{'timestamp'} <=> $a->{'timestamp'} } @$issueslist;
remoteprint(\@issues, $borrower );
}
1;
__END__
-=back
-
=head1 AUTHOR
-Koha Developement team <info@koha.org>
+Koha Development Team <http://koha-community.org/>
=head1 SEE ALSO