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>
['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();
}
],
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'); }
},