LP#1848550: client-side caching of org settings for AngularJS
authorJeff Davis <jeff.davis@bc.libraries.coop>
Wed, 27 Nov 2019 00:12:37 +0000 (16:12 -0800)
committerJeff Davis <jeff.davis@bc.libraries.coop>
Wed, 27 Nov 2019 20:23:36 +0000 (12:23 -0800)
commit85dcead5c1ea464355ec627757e4bb80ef706f77
tree1c71c2f249d91982dc5a4a138c1c1569f04495e6
parent11868e97844a47d57489062197ac6809d9473366
LP#1848550: client-side caching of org settings for AngularJS

The web client almost always does live lookups any time it needs to
check an org setting.  But these settings rarely change, so it would
make sense to cache them.  They're already cached using Lovefield in
order to support offline; this commit checks the cache first, and only
does a live lookup if the setting is uncached.

The settings cache is cleared on login to ensure stale values don't
stick around forever.  To refresh the cache, simply logout and then
login; cached values will be deleted and the latest values will be
retrieved from the server when they are needed.

Signed-off-by: Jeff Davis <jeff.davis@bc.libraries.coop>
Open-ILS/web/js/ui/default/staff/services/auth.js
Open-ILS/web/js/ui/default/staff/services/lovefield.js
Open-ILS/web/js/ui/default/staff/services/org.js