Bug 9312: Resolve error triggered by mutli-type return value.
authorMark Tompsett <mtompset@hotmail.com>
Mon, 27 Oct 2014 02:43:08 +0000 (22:43 -0400)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Fri, 7 Nov 2014 14:30:27 +0000 (11:30 -0300)
$results is 1 upon success or a hash on failure.
Rather than check %$results || %error, I changed it to
$results!=1 || %error. Strangely, this works without
messy warnings. I believe this resolves the problem Katrin
mentions in comment #43.

TEST PLAN
---------
0) Make sure the system preference patronimages is set to Allow.
1) Apply all the patches
2) Login to staff client
3) Tools -> Upload patron images (it's in the bottom left)
4) Choose an image file, browse for a photo, enter a patron #.
5) Click Upload
6) Click the card number link
   -- the uploaded photo should be visible on the left side of
      the screen.
7) Run koha qa test tools.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Image uploaded without problems
No koha-qa errors

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
tools/picture-upload.pl

index 82d09bc..b7d99d7 100755 (executable)
@@ -74,8 +74,8 @@ $debug and warn "Operation requested: $op";
 
 my ( $total, $handled, @counts, $tempfile, $tfh, %errors );
 
+# Case is important in these operational values as the template must use case to be visually pleasing!
 if ( ( $op eq 'Upload' ) && $uploadfile ) {
-    # Case is important in these operational values as the template must use case to be visually pleasing!
     my $dirname = File::Temp::tempdir( CLEANUP => 1 );
     $debug and warn "dirname = $dirname";
     my $filesuffix;
@@ -129,11 +129,11 @@ if ( ( $op eq 'Upload' ) && $uploadfile ) {
         #if ($filetype eq 'zip' )
         $results = handle_dir( $dirname, $filesuffix, $template, $cardnumber,
             $tempfile );
-        $handled = 1;
+        $handled++ if $results == 1;
         $total   = 1;
     }
 
-    if ( %$results || %errors ) {
+    if ( $results!=1 || %errors ) {
         $template->param( ERRORS => [$results] );
     }
     else {