From 1c91e9310077587b87aac78bde8ba6d8ef3c647d Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Tue, 3 Jan 2012 15:46:25 -0500 Subject: [PATCH] More aggressive recalc of standing penalties In the staff client, the Refresh button in the patron display will explicitly ask the server to recalculate standing penalties for the patron. Other automatic refresh-like behavior meant to synchronize parts of the patron display will not do this. This change tweaks the logic to ask for a recalculation with all refresh-like behavior in the patron display, and will catch such things as staff changing the user's permisssion profile. An example of how you might test this: Admin -> Local Administration -> Group Penalty Thresholds New Penalty Threshold Group: Volunteers Org Unit: CONS Penalty: PATRON_EXCEEDS_FINES Threshold: 1 Save Register user with Profile of Patrons Load patron, Bills, Bill Patron, Amount: 5, Submit this Bill Edit Main (Profile) Permission Group: Volunteers, Save The interface should refresh and show a Maximum Bills penalty in the patron summary. Signed-off-by: Jason Etheridge --- Open-ILS/xul/staff_client/server/patron/display.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Open-ILS/xul/staff_client/server/patron/display.js b/Open-ILS/xul/staff_client/server/patron/display.js index 3cf9f96f69..1eec41fb5f 100644 --- a/Open-ILS/xul/staff_client/server/patron/display.js +++ b/Open-ILS/xul/staff_client/server/patron/display.js @@ -174,10 +174,6 @@ patron.display.prototype = { ['command'], function(ev) { try { document.getElementById("PatronNavBarScrollbox").ensureElementIsVisible( document.getElementById("PatronNavBar_refresh" ) ); } catch(E) {}; - obj.network.simple_request( - 'RECALCULATE_STANDING_PENALTIES', - [ ses(), obj.patron.id() ] - ); obj.refresh_all(); } ], @@ -805,6 +801,10 @@ patron.display.prototype = { var obj = this; obj.controller.view.patron_name.setAttribute('value', $("patronStrings").getString('staff.patron.display.init.retrieving')); document.documentElement.setAttribute('class',''); + obj.network.simple_request( + 'RECALCULATE_STANDING_PENALTIES', + [ ses(), obj.patron.id() ] + ); try { obj.summary_window.refresh(); } catch(E) { obj.error.sdump('D_ERROR', E + '\n'); } try { obj.refresh_deck(); } catch(E) { obj.error.sdump('D_ERROR', E + '\n'); } }, -- 2.11.0