From 88a539e4265874cb609d470a4a6cb80f35c9b7ce Mon Sep 17 00:00:00 2001 From: David Cook Date: Fri, 12 Oct 2018 01:53:22 +0000 Subject: [PATCH] Bug 21556: Deleting same record twice leads to fatal software error If you delete a record, confirm the deletion, and try to delete the record and confirm it again befoe the first deletion completes, you'll generate a fatal software error. This patch unbinds the click handlers for the "Delete record" button after the deletion is confirmed and just before the Javascript processes the redirect to the next page in the process. To test: 1) You will need a bibliographic record that is able to be deleted 2) Click "Edit", then "Delete record", then "OK" 3) While the browser is reloading, click "Edit", then "Delete record", then "OK 4) Observe a fatal error such as "Internal server error" or 'Can't call method "holds" on an undefined value at /home/vagrant/kohaclone/C4/Biblio.pm line 406.' 5) Apply the patch 6) Run "restart_all" on kohadevbox (or otherwise restart Plack if running Plack) 7) Navigate to another bibliographic record that is able to be deleted 8) Click "Edit", then "Delete record", then "OK" 9) While the browser is reloading, click "Edit", then "Delete record" 10) Observe that no fatal software error is generated 11) You are redirected to http://localhost:8081/cgi-bin/koha/catalogue/search.pl (on kohadevbox) --- koha-tmpl/intranet-tmpl/prog/js/catalog.js | 1 + 1 file changed, 1 insertion(+) diff --git a/koha-tmpl/intranet-tmpl/prog/js/catalog.js b/koha-tmpl/intranet-tmpl/prog/js/catalog.js index 19ccd52..4b56021 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/catalog.js +++ b/koha-tmpl/intranet-tmpl/prog/js/catalog.js @@ -43,6 +43,7 @@ function confirm_deletion() { is_confirmed = confirm( CONFIRM_RECORD_DELETION ); } if (is_confirmed) { + $("#deletebiblio").unbind('click'); window.location="/cgi-bin/koha/cataloguing/addbiblio.pl?op=delete&biblionumber=" + biblionumber; } else { return false; -- 2.1.4