From 913001ab9d8331bbd9905b45a8715281363f3a31 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 15 Jul 2019 17:46:36 +0000 Subject: [PATCH] Bug 23319: 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 Signed-off-by: Katrin Fischer --- 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 aed5d56a67..931429fb7a 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 fb1b66a53e..29acca7b88 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 68eb5543c1..8db6e956db 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 d4642a14ad..7cd031cdf7 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 ff0113f563..df96f1a52e 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.11.0