From 51fc51b595bf7d73d67d7b8a81120bb07d03fbb3 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 15 Jul 2019 17:46:36 +0000 Subject: [PATCH] Implement blocking errors for neworderbiblio and basket.pl To test: 1 - Hit neworderbiblio with a query and no vendor http://localhost:8081/cgi-bin/koha/acqui/neworderbiblio.pl?q=cat Or, add to basket from existing record with a search Refresh the page (url has no parameters) 2 - Get an internal server error 3 - Add bookseller http://localhost:8081/cgi-bin/koha/acqui/neworderbiblio.pl?q=cat&booksellerid=1 4 - Click 'Order' on a result 5 - Internal server error 6 - Apply patch 7 - Repeat 1-4, you get 'Vendor not found' or 'Basket not found' https://bugs.koha-community.org/show_bug.cgi?id=23319 Signed-off-by: Maryse Simard --- acqui/neworderbiblio.pl | 2 ++ acqui/neworderempty.pl | 3 +++ koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc | 2 ++ koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt | 2 ++ koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt | 2 ++ 5 files changed, 11 insertions(+) diff --git a/acqui/neworderbiblio.pl b/acqui/neworderbiblio.pl index b48737d..d15b11d 100755 --- a/acqui/neworderbiblio.pl +++ b/acqui/neworderbiblio.pl @@ -97,6 +97,8 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( } ); +output_and_exit( $input, $cookie, $template, 'unknown_vendor') unless $bookseller; + # Searching the catalog. my @operands = $query; diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl index fb1b66a..29acca7 100755 --- a/acqui/neworderempty.pl +++ b/acqui/neworderempty.pl @@ -138,6 +138,9 @@ my $basketobj = Koha::Acquisition::Baskets->find( $basketno ); $booksellerid = $basket->{booksellerid} unless $booksellerid; my $bookseller = Koha::Acquisition::Booksellers->find( $booksellerid ); +output_and_exit( $input, $cookie, $template, 'unknown_basket') unless $basketobj; +output_and_exit( $input, $cookie, $template, 'unknown_vendor') unless $bookseller; + my $contract = GetContract({ contractnumber => $basket->{contractnumber} }); diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc index 68eb554..8db6e95 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/blocking_errors.inc @@ -11,6 +11,8 @@
Subscription not found.
[% CASE 'unknown_basket' %]
Basket not found.
+ [% CASE 'unknown_vendor' %] +
Vendor not found.
[% CASE 'wrong_csrf_token' %]
The form submission failed (Wrong CSRF token). Try to come back, refresh the page, then try again.
[% CASE %][% blocking_error | html %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt index 482185b..e9fbc36 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt @@ -12,6 +12,8 @@ +[% INCLUDE 'blocking_errors.inc' %] +
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt index ff0113f..df96f1a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt @@ -17,6 +17,8 @@ +[% INCLUDE 'blocking_errors.inc' %] +
-- 2.7.4