From cdd101ae5e40152192bc6d495ee26f8929574073 Mon Sep 17 00:00:00 2001 From: Baptiste Wojtkowski 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 --- 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