From: Jason Etheridge <jason@esilibrary.com> Date: Tue, 3 Jan 2012 20:46:25 +0000 (-0500) Subject: More aggressive recalc of standing penalties X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=05679cce8d1b4903f65262bebbdc384f88238b9d;p=evergreen%2Fmasslnc.git 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 <jason@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com> --- 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'); } },