LP#1955079: Staff catalog can't email records
authorMike Rylander <mrylander@gmail.com>
Wed, 12 Jan 2022 16:25:59 +0000 (11:25 -0500)
committerMichele Morgan <mmorgan@noblenet.org>
Mon, 9 Jan 2023 17:21:44 +0000 (12:21 -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>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm

index 3af4a33..bb6618a 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;