Bug 22566: Fix some more issues
authorMartin Renvoize <martin.renvoize@ptfs-europe.com>
Fri, 7 Jun 2019 11:50:32 +0000 (12:50 +0100)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 25 Jun 2019 16:01:11 +0000 (17:01 +0100)
1) Fix warning for undefined value in sprintf when no items have the
indemand flag set.
2) Corrections to report_full for bad ternary in string construction
3) Perldoc corrections

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Koha/StockRotationRotas.pm
misc/cronjobs/stockrotation.pl

index ba905ff..0350707 100644 (file)
@@ -61,6 +61,7 @@ sub investigate {
         actionable     => 0,
         advanceable    => 0,
         initiable      => 0,
+        indemand       => 0,
         items_inactive => 0,
         repatriable    => 0,
         rotas_active   => 0,
index 4df9d17..f3c6b91 100755 (executable)
@@ -220,7 +220,7 @@ sub report_full {
     # Summary
     $header .= "STOCKROTATION REPORT\n";
     $header .= "--------------------\n";
-    $body .= sprintf "
+    $body   .= sprintf "
   Total number of rotas:         %5u
     Inactive rotas:              %5u
     Active rotas:                %5u
@@ -275,15 +275,19 @@ sub report_full {
 
 =head3 report_email
 
-  my $email_report = report_email($report);
+  my $email_report = report_email($report, [$branch]);
 
 Returns an arrayref containing a header string, with basic report information,
 and any number of 'per_branch' strings, containing a detailed report about the
 current state of the stockrotation subsystem, from the perspective of those
 individual branches.
 
-$REPORT should be the return value of `investigate`, and $BRANCH should be
-either 0 (to indicate 'all'), or a specific Koha::Library object.
+=over 2
+
+=item $report should be the return value of `investigate`
+=item $branch is optional and should be either 0 (to indicate 'all'), or a specific Koha::Library object.
+
+=back
 
 No data in the database is manipulated by this procedure.
 
@@ -323,7 +327,7 @@ sub report_email {
 
 =head3 _report_per_branch
 
-  my $branch_string = _report_per_branch($branch_details, $branchcode, $branchname);
+  my $branch_string = _report_per_branch($branch_details);
 
 return a string containing details about the stockrotation items and their
 status for the branch identified by $BRANCHCODE.
@@ -346,6 +350,7 @@ sub _report_per_branch {
         my $letter = C4::Letters::GetPreparedLetter(
             module                 => 'circulation',
             letter_code            => "SR_SLIP",
+            branchcode             => $branch->{code},
             message_transport_type => 'email',
             substitute             => $branch
         )
@@ -470,14 +475,14 @@ sub emit {
                 }
             }
             else {
-               $addressee ||= q{};
-                $params->{admin_email} ||= q{};
+                $addressee ||=
+                  defined( $params->{admin_email} )
+                  ? $params->{admin_email} . "\n"
+                  : 'No recipient found' . "\n";
                 my $email =
-                  "-------- Email message --------" . "\n\n" . "To: "
-                  . defined($addressee)               ? $addressee
-                  : defined( $params->{admin_email} ) ? $params->{admin_email}
-                  : '' . "\n"
-                  . "Subject: "
+                  "-------- Email message --------" . "\n\n";
+                $email .= "To: $addressee\n";
+                $email .= "Subject: "
                   . $part->{letter}->{title} . "\n\n"
                   . $part->{letter}->{content};
                 push @emails, $email;