From cdd101ae5e40152192bc6d495ee26f8929574073 Mon Sep 17 00:00:00 2001
From: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Date: Mon, 30 Dec 2024 15:06:27 +0100
Subject: [PATCH] Bug 34971: Fix reopen button display on serial-collection
Patch 1 - (this one) When a user is on serial collection information, the subscription is
not passed to the template, and therefore not passed to serials-toolbar.inc.
This makes sense if collection information is called with a biblionumber
but not if collection information is called with a subscription id.
Consequently, subscription.closed is always false and it is not possible
to reopen a basket.
Patch 2 - User with incorrect permission can close serials, they just
need to access to the page. This is due to serials-toolbar.inc expecting
a variable named "cannotedit", which is provided by
"subscription-details.pl" and not by "serials-collection.pl"
TEST PLAN:
Before applying patches :
1 - log in as a user with only receive_serial permission
2 - Open two pages one on
/serials-collection.pl?subscriptionid=ID_A, another on
/serials-collection.pl?subscriptionid=ID_B
3 - On serial A's collection page, check you can close the serial (wrong
behaviour), note you can close it again but not reopen it
4 - Apply first patch
5 - Check you can reopen the serial (wrong behaviour) keep the page open
6 - On serial B's collection page, close the serial, keep the page open
7 - Apply second patch
8 - On page left open on 3 -, click on close, you are redirected to a
login page.
8 - Go back to serial A's collection page -> there is no close button
anymore
9 - On page left open on 4 -, click on reopen, you are redirected to a
login page
10 - Go back to serial B's collection page -> there is no close button
anymore
Signed-off-by: David Nind <david@davidnind.com>
---
serials/serials-collection.pl | 3 +++
1 file changed, 3 insertions(+)
diff --git a/serials/serials-collection.pl b/serials/serials-collection.pl
index 025bde2179..cd662a58a7 100755
--- a/serials/serials-collection.pl
+++ b/serials/serials-collection.pl
@@ -189,8 +189,11 @@ foreach my $subscription (@$subscriptiondescs){
$subscription->{'hasRouting'} = check_routing($subscription->{'subscriptionid'});
}
+my $subscription = $subscriptionid ? Koha::Subscriptions->find( $subscriptionid ) : "";
+
chop $subscriptionidlist;
$template->param(
+ subscription => $subscription,
subscriptionidlist => $subscriptionidlist,
biblionumber => $biblionumber,
subscriptions => $subscriptiondescs,
--
2.39.5