From 12b7f412ef093ccbde846b1bb9f128da039bc842 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@biblibre.com>
Date: Thu, 28 Feb 2013 14:09:24 +0100
Subject: [PATCH] [SIGNED-OFF] Bug 9656: Followup Make logging to a file
 optional (for fines)

The -log option become optional if the -output_dir is given.

Test plan:
call the script with
1/ no one parameter : no log file
2/ -l : log file will be created in /tmp
3/ -o=/home/koha/var/log : log file with be created in the specified
4/ -o=/home/koha/var/log -l: Same as 3/

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Comment: All combination of options tested. Works well. No errors.
---
 misc/cronjobs/fines.pl |   15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/misc/cronjobs/fines.pl b/misc/cronjobs/fines.pl
index 3801450..d2b0062 100755
--- a/misc/cronjobs/fines.pl
+++ b/misc/cronjobs/fines.pl
@@ -60,7 +60,7 @@ calculated but not applied.
 
 This script has the following parameters :
     -h --help: this message
-    -l --log: log the output to a file
+    -l --log: log the output to a file (optional if the -o parameter is given)
     -o --out:  ouput directory for logs (defaults to env or /tmp if !exist)
     -v --verbose
 
@@ -82,10 +82,13 @@ my $delim = "\t";    # ?  C4::Context->preference('delimiter') || "\t";
 
 my %is_holiday;
 my $today = DateTime->now( time_zone => C4::Context->tz() );
-my $filename = get_filename($output_dir);
+my $filename;
+if ($log or $output_dir) {
+    $filename = get_filename($output_dir);
+}
 
 my $fh;
-if ($log) {
+if ($filename) {
     open $fh, '>>', $filename or croak "Cannot write file $filename: $!";
     print {$fh} join $delim, ( @borrower_fields, @item_fields, @other_fields );
     print {$fh} "\n";
@@ -131,7 +134,7 @@ for my $overdue ( @{$overdues} ) {
             );
         }
     }
-    if ($log) {
+    if ($filename) {
         my @cells;
         push @cells,
           map { defined $borrower->{$_} ? $borrower->{$_} : q{} }
@@ -141,7 +144,7 @@ for my $overdue ( @{$overdues} ) {
         say {$fh} join $delim, @cells;
     }
 }
-if ($log){
+if ($filename){
     close $fh;
 }
 
@@ -150,7 +153,7 @@ if ($verbose) {
     print <<"EOM";
 Fines assessment -- $today
 EOM
-    if ($log) {
+    if ($filename) {
         say "Saved to $filename";
     }
     print <<"EOM";
-- 
1.7.9.5