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)
committerChris Sharp <csharp@georgialibraries.org>
Tue, 7 Apr 2020 17:12:42 +0000 (13:12 -0400)
commit5869336e29eecfc2427ce6f64374c17cdc30956e
tree148e2039b3ab2e5469603bd3b11f9fa4015027ef
parenta5c9679adf224603dde6886c25967cdb43abc3b7
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>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
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