From 85cc320647418cc9256c90eb6fb7ef7036c0c15c Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 8 Mar 2021 14:36:41 -0300 Subject: [PATCH] Bug 27865: Pass the x-koha-override header to PUT /holds/:hold_id from the patron's page This patch makes the AJAX call to update an existing hold, pass the 'x-koha-override' header with the value of 'any', so any pickup location policy override that is needed, is applied. As the override is taken into account only if AllowHoldPolicyOverride is enabled, this in fact restores the previous behavior. To test: 1. Have a patron with a hold 2. Have AllowHoldPolicyOverride set to 'yes' 3. Try changing the pickup location to an invalid one => FAIL: The options are the same as before 27205, yet the AJAX call fails because of invalid pickup location. 4. Apply this patch 5. Repeat 3 => SUCCESS: The API call succeeds, and the hold is updated (it is actually refetch, so just verify it has the value you selected 6. Sign off :-D --- koha-tmpl/intranet-tmpl/prog/js/holds.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/holds.js b/koha-tmpl/intranet-tmpl/prog/js/holds.js index 134194bbfd9..703e02e3f14 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/holds.js +++ b/koha-tmpl/intranet-tmpl/prog/js/holds.js @@ -229,7 +229,8 @@ $(document).ready(function() { $.ajax({ method: "PUT", url: api_url, - data: update_info , + data: update_info, + headers: { "x-koha-override": "any" }, success: function( data ){ holdsTable.api().ajax.reload(); }, error: function( jqXHR, textStatus, errorThrown) { alert('There was an error:'+textStatus+" "+errorThrown); -- 2.30.1