From 6581a7c9d0e607de03c90bc13879d4d634be1599 Mon Sep 17 00:00:00 2001 From: Marion Durand Date: Thu, 21 Oct 2021 15:06:02 +0200 Subject: [PATCH] Bug 9565: (follow-up) Deleting a biblio should alert/fail if there are existent subscriptions Currently Koha will delete a biblio record if there are existent serial subscriptions. This patch will prevent deleting the biblio until attached subscriptions are removed. To test: 1) Add a subscription to a biblio, or check a biblio which has one attached already. 2) Remove all items if there are any. 3) Apply patch. 4) Confirm that the 'Delete record' item is disabled in the list. 5) Attempt to 'Delete record', you should recieve an error message stating to delete all subscriptions before deleting record. 6) Sign off. Sponsored by: Lunds Universitetsbibliotek --- koha-tmpl/intranet-tmpl/prog/en/includes/catalog-strings.inc | 1 + koha-tmpl/intranet-tmpl/prog/js/catalog.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/catalog-strings.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/catalog-strings.inc index d74261d089..3ab04f9af1 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/catalog-strings.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/catalog-strings.inc @@ -10,6 +10,7 @@ [% SET cancelled = Context.Scalar(orders, "filter_by_cancelled") %] var countorders = [% current.count || 0 | html %]; var countdeletedorders = [% cancelled.count || 0 | html %]; + var subscriptionscount = [% biblio.subscriptions.count || 0 | html %]; var searchid = '[% searchid | html %]'; /* provide Z3950 search points */ diff --git a/koha-tmpl/intranet-tmpl/prog/js/catalog.js b/koha-tmpl/intranet-tmpl/prog/js/catalog.js index 76428397f1..2d63aecb81 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/catalog.js +++ b/koha-tmpl/intranet-tmpl/prog/js/catalog.js @@ -44,6 +44,8 @@ function confirm_deletion(link) { } } else if ( holdcount > 0 ) { is_confirmed = confirm( __("%s holds(s) for this record. Are you sure you want to delete this record?").format(holdcount)); + } else if (subscriptionscount > 0){ + is_confirmed = alert(__("%s subscription(s) are attached to this record. You must delete all subscription before deleting this record.").format(subscriptionscount)); } else { is_confirmed = confirm( __("Are you sure you want to delete this record?") ); } -- 2.17.1