Bug 31492: Set CSRF token in circulation.pl
authorLucas Gass <lucas@bywatersolutions.com>
Fri, 13 Jan 2023 19:01:55 +0000 (19:01 +0000)
committerLucas Gass <lucas@bywatersolutions.com>
Fri, 20 Jan 2023 00:01:36 +0000 (00:01 +0000)
To test:
* Turn on patronimages system preferences
* Go to any patron account
* Hover over the 'dummy image' for the Add button
* Browse and select an image for upload
* Saving results in the following error:

The form submission failed (Wrong CSRF token). Try to come back, refresh the page, then try again.

Apply patch and try again. You shouldn't need to try twice, it should work on the first attempt now.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit f0e6f25428a997076d29dd3daeb905befed254f8)
Signed-off-by: Jacob O'Mara <jacob.omara@ptfs-europe.com>
(cherry picked from commit 11d88ba12ff14a41a1d998d0286b258e356dd64a)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
circ/circulation.pl

index e4d44f2..3f84be9 100755 (executable)
@@ -53,6 +53,7 @@ use Koha::Items;
 use Koha::SearchEngine;
 use Koha::SearchEngine::Search;
 use Koha::Patron::Modifications;
+use Koha::Token;
 
 use List::MoreUtils qw( uniq );
 
@@ -639,4 +640,9 @@ $template->param(
     logged_in_user            => $logged_in_user,
 );
 
+# Generate CSRF token for upload and delete image buttons
+$template->param(
+    csrf_token => Koha::Token->new->generate_csrf({ session_id => $query->cookie('CGISESSID'),}),
+);
+
 output_html_with_http_headers $query, $cookie, $template->output;