From 3c21fa8fb79410792d90361bd5ee57ebb2d2a9b6 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 5 Jul 2024 14:47:42 +0200 Subject: [PATCH] Bug 37247: Fix display of "closed" The subscription was not shown as closed after we closed it. This is because "closed" is not passed to the template. It seems more reliable to rely on the subscription object (that is passed to both serials/serials-collection.tt and serials/subscription-detail.tt, the others are not showing the Reopen/Close buttons) Also fetch the subscription object after and reopen/close it to display accurate values. --- .../intranet-tmpl/prog/en/includes/serials-toolbar.inc | 6 +++--- .../prog/en/modules/serials/subscription-detail.tt | 4 ++-- serials/subscription-detail.pl | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/serials-toolbar.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/serials-toolbar.inc index 7757a9af70a..e29f4e82104 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/serials-toolbar.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/serials-toolbar.inc @@ -54,14 +54,14 @@ [% END %] [% IF not cannotedit or CAN_user_serials_receive_serials %] - [% IF CAN_user_serials_renew_subscription and not closed %] + [% IF CAN_user_serials_renew_subscription and not subscription.closed %]
Renew
[% END %] - [% IF CAN_user_serials_receive_serials and not closed %] + [% IF CAN_user_serials_receive_serials and not subscription.closed %]
Receive
[% END %] [% UNLESS cannotedit %] - [% IF closed %] + [% IF subscription.closed %]
[% INCLUDE 'csrf-token.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt index 27aab7ad8da..96e3b2f50cb 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/serials/subscription-detail.tt @@ -44,10 +44,10 @@ [% INCLUDE 'serials-toolbar.inc' %] [% INCLUDE 'mana/mana-comment-status.inc' %] -

Subscription for [% INCLUDE 'biblio-title.inc' biblio=subscription.biblio link = 0 %] [% IF closed %](closed)[% END %]

+

Subscription for [% INCLUDE 'biblio-title.inc' biblio=subscription.biblio link = 0 %] [% IF subscription.closed %](closed)[% END %]

[% IF ( abouttoexpire ) %] - [% UNLESS closed %] + [% UNLESS subscription.closed %]
Subscription will expire [% enddate | html %]. Renew this subscription.
[% END %] [% END %] diff --git a/serials/subscription-detail.pl b/serials/subscription-detail.pl index 2f3518d4a8a..55c7a65ae4c 100755 --- a/serials/subscription-detail.pl +++ b/serials/subscription-detail.pl @@ -62,8 +62,6 @@ $subs->{enddate} ||= GetExpirationDate($subscriptionid); my ($totalissues,@serialslist) = GetSerials($subscriptionid); $totalissues-- if $totalissues; # the -1 is to have 0 if this is a new subscription (only 1 issue) -my $subscription = Koha::Subscriptions->find( $subscriptionid ); - if ( $op eq "cud-close" ) { C4::Serials::CloseSubscription( $subscriptionid ); } elsif ( $op eq "cud-reopen" ) { @@ -123,6 +121,8 @@ my @irregular_issues = split /;/, $subs->{irregularity}; my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subs->{periodicity}); my $numberpattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($subs->{numberpattern}); +my $subscription = Koha::Subscriptions->find( $subscriptionid ); + $template->param( available_additional_fields => Koha::AdditionalFields->search( { tablename => 'subscription' } ), additional_field_values => { map { $_->field->name => $_->value } $subscription->additional_field_values->as_list }, -- 2.34.1