LP#1955079: Staff catalog can't email records user/miker/lp1955079-ang-email-records-fix
authorMike Rylander <mrylander@gmail.com>
Wed, 12 Jan 2022 16:25:59 +0000 (11:25 -0500)
committerMike Rylander <mrylander@gmail.com>
Wed, 12 Jan 2022 16:25:59 +0000 (11:25 -0500)
The angular staff catalog uses the new print/email records
functionality, but calls it without some expected parameters.  This
causes the backend method to fail as it assumes the params will exist.

This commit removes that assumption by testing the length of the
parameter list before attempted to read them.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm

index 20cec4e..277f332 100644 (file)
@@ -2030,7 +2030,9 @@ sub format_biblio_record_entry {
     my ($auth, $captcha_pass, $email, $subject);
     if ($for_email) {
         $auth = shift @_;
-        ($captcha_pass, $email, $subject) = splice @_, -3, 3;
+        if (@_ > 5) { # the stuff below is included in the params, safe to splice
+            ($captcha_pass, $email, $subject) = splice @_, -3, 3;
+        }
     }
     my ($bib_id, $holdings_context_org, $bib_sort, $sort_dir, $group_member) = @_;
     $holdings_context_org ||= $U->get_org_tree->id;