From 63c527a10eb2162475eb1bee817bb04c9d2208bb Mon Sep 17 00:00:00 2001 From: Chris Nighswonger Date: Wed, 6 Oct 2010 13:41:34 -0400 Subject: [PATCH] Bug 5284 - Generic report covering various problems with the labels/patron card tests This patch removes a very incomplete test script which was really not even formed into a test routine. Note: In all probability, the labels tests could be adapted to test patroncards as well. --- t/db_dependent/Patroncards/t_Patroncards.t | 194 --------------------- 1 file changed, 194 deletions(-) delete mode 100644 t/db_dependent/Patroncards/t_Patroncards.t diff --git a/t/db_dependent/Patroncards/t_Patroncards.t b/t/db_dependent/Patroncards/t_Patroncards.t deleted file mode 100644 index b3b737ae10..0000000000 --- a/t/db_dependent/Patroncards/t_Patroncards.t +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/perl -# -# Copyright 2009 Foundations Bible College. -# -# This file is part of Koha. -# -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# 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., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -## NOTE: This is really broken at this point and needs updating... -chris_n - -use strict; -use warnings; - -#use Test::More; -use Graphics::Magick; -use XML::Simple; -use autouse 'Data::Dumper' => qw(Dumper); - -use C4::Context; -use autouse 'C4::Members' => qw(GetPatronImage); -use C4::Creators::PDF 1.000000; -use C4::Patroncards::Patroncard 1.000000; - -#BEGIN { -# use_ok('C4::Patroncards::Patroncard'); -#} - -my $borrower_number = 3; -my $pdf = C4::Creators::PDF->new(InitVars => 0); - -# All units are in PostScript points in this script -$pdf->Mbox(0, 0, 612, 792); - -# Convert layout to XML and insert into db -#my $query = "INSERT INTO creator_layouts (layout_id,layout_xml) VALUES (1,?) ON DUPLICATE KEY UPDATE layout_xml=?;"; -#my $sth = C4::Context->dbh->prepare($query); -my $layout = -{ - barcode => { - type => 'CODE39', - llx => 26, - lly => 4.5, - data => '0002120108', - text => 1, # controls text_under_barcode display: 1 => visible, 0 => not visible - }, - text => [ - 'John Doe' => { - font => 'TB', - font_size => 13, - llx => 63, # llx & lly are relative to the llx & lly of the card NOT the page - lly => 103.5, - alignment => 'C', - }, - 'Anytown Public Library' => { - font => 'TR', - font_size => 8, - llx => 63, - lly => 85.5, - alignment => 'C', - }, - 'Line 3 Text' => { - font => 'TB', - font_size => 10, - llx => 63, - lly => 76.5, - alignment => 'C', - }, - ], - images => { - patron_image => { - data_source => {'db' => 'patronimages', - 'card_number' => '0002120108', - }, - Sx => 0, - Sy => 0, - Ox => 0, # Ox,Oy should be set to 0 unless you want special effects see http://www.adobe.com/devnet/pdf/pdf_reference.html ISO 32000-1 - Oy => 0, - Tx => 4.5, # Lower left corner of image relative to the lower left corner of the card - Ty => 63, - Dx => 72, # point height of display image - }, - image_1 => { - data_source => {'db' => 'pcards_images', - 'image_id' => 1, - }, - Sx => 0, - Sy => 0, - Ox => 0, # Ox,Oy should be set to 0 unless you want special effects see http://www.adobe.com/devnet/pdf/pdf_reference.html ISO 32000-1 - Oy => 0, - Tx => 100, # Lower left corner of image - Ty => 50, - Dx => 81, - }, - }, -}; - -#$sth->execute(XMLout($layout),XMLout($layout)); - -# Retrieve XML from database -my$query = "SELECT layout_xml FROM creator_layouts WHERE layout_id=20;"; -my $xml = C4::Context->dbh->selectrow_array($query); - -# Convert back to hash -$layout = XMLin($xml); - -# Do image foo and place binary image data into layout hash -my $image_data = {}; -my $alt_image_data = {}; -my $error = undef; -foreach (keys %{$layout->{'images'}}) { - warn "Processing key: $_\n"; - if (grep{m/db/} keys(%{$layout->{'images'}->{$_}->{'data_source'}})) { - warn $layout->{'images'}->{$_}->{'data_source'}->{'db'}; - if ($layout->{'images'}->{$_}->{'data_source'}->{'db'} eq 'patronimages') { - warn "Processing patron image data.\n"; - ($image_data, $error) = GetPatronImage($layout->{'images'}->{$_}->{'data_source'}->{'card_number'}); - warn sprintf('No image exists for borrower number %s.', $borrower_number) if !$image_data; - next if !$image_data; - } - elsif ($layout->{'images'}->{$_}->{'data_source'}->{'db'} eq 'pcards_images') { - warn "Processing pcards image data for image_id " . $$layout{'images'}{$_}{'data_source'}{'image_id'} . ".\n"; - my $dbh = C4::Context->dbh(); - $dbh->{LongReadLen} = 1000000; # allows us to read approx 1MB - $image_data = $dbh->selectrow_hashref("SELECT imagefile FROM pcards_images WHERE image_id = \'$$layout{'images'}{$_}{'data_source'}{'image_id'}\'"); - warn sprintf('Image does not exists in db table %s.', $$layout{'images'}{$_}{'data_source'}{'db'}) if !$image_data; - next if !$image_data; - # $string =~ s/(.)/sprintf("%x",ord($1))/eg; - } - else { - warn sprintf('No retrieval method for table %s.', $$layout{'images'}{$_}{'data_source'}{'db'}) if !$image_data; - } - warn sprintf('Database returned the following error: %s.', $error) if $error; - } - elsif (grep{m/foo/} keys(%{$layout->{'images'}->{$_}->{'data_source'}})) { - # some other image storage/retrieval method - } - -my $binary_data = $image_data->{'imagefile'}; -my $image = Graphics::Magick->new; -$image->BlobToImage($binary_data); -my $alt_image = Graphics::Magick->new; -$alt_image->BlobToImage($binary_data); -$alt_image->Set(magick => 'jpg', quality => 100); - -warn "Print Image Dimensions: " . $image->Get('width') . " X " . $image->Get('height') . "\n"; - -my $alt_width = $image->Get('width'); -my $alt_height = $image->Get('height'); -my $ratio = $alt_width / $alt_height; -my $display_height = $layout->{'images'}->{$_}->{'Dx'}; -my $display_width = $ratio * $display_height; -$image->Resize(width => $display_width, height => $display_height); -$image->Set(magick => 'jpg', quality => 100); - -warn "Display Image dimensions: " . $image->Get('width') . " X " . $image->Get('height') . "\n"; - -# Write params for alt image... - $layout->{'images'}->{$_}->{'alt'}->{'Sx'} = $alt_width; - $layout->{'images'}->{$_}->{'alt'}->{'Sy'} = $alt_height; - $layout->{'images'}->{$_}->{'alt'}->{'data'} = $alt_image->ImageToBlob(); -## Write params for display image... - $layout->{'images'}->{$_}->{'Sx'} = $display_width; - $layout->{'images'}->{$_}->{'Sy'} = $display_height; - $layout->{'images'}->{$_}->{'data'} = $image->ImageToBlob(); -} -die "BREAKPOINT..."; -# Create a new patroncard object -my $patron_card = C4::Patroncards::Patroncard->new( - batch_id => 1, - borrower_number => $borrower_number, - llx => 36,#13.5 # lower left corner of the card - lly => 639, - height => 139.5, # of the card - width => 229.5, - layout => $layout, - text_wrap_cols => 30, -); -$patron_card->draw_guide_box($pdf); -$patron_card->draw_barcode($pdf); -my $err = $patron_card->draw_image($pdf); -$patron_card->draw_text($pdf); -$pdf->End; -exit(1); -- 2.39.5