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)
committerBill Erickson <berickxx@gmail.com>
Tue, 28 Apr 2020 19:10:38 +0000 (15:10 -0400)
commit83e18205e2e1d0123174b17029401a1481405060
tree31265223107e46a47d76ab8e082d800d08e5611e
parentbadd829e150539de808ec5bcaa25fcdf049774e7
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>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
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