# HG changeset patch # User robcast # Date 1365960838 -7200 # Node ID 647e8676c8ac9c1ec7c57240c497923afab9838d # Parent 7f7e31a4a71ede2e0453ed88a346cfc5ef392a21 auth plugin switches back to error image mode. diff -r 7f7e31a4a71e -r 647e8676c8ac webapp/src/main/webapp/jquery/jquery.digilib.auth.js --- a/webapp/src/main/webapp/jquery/jquery.digilib.auth.js Sun Apr 14 18:48:18 2013 +0200 +++ b/webapp/src/main/webapp/jquery/jquery.digilib.auth.js Sun Apr 14 19:33:58 2013 +0200 @@ -37,7 +37,9 @@ // URL of Scaler servlet that does authentication 'authScalerBaseUrl' : null, // URL of Scaler servlet that does not do authentication - 'unauthScalerBaseUrl' : null + 'unauthScalerBaseUrl' : null, + // try to switch back to error image mode after authentication + 'returnToErrorImgMode' : true }; /** @@ -67,12 +69,21 @@ console.debug("auth: handleImgerror"); var data = this; var settings = data.settings; - if (settings.scalerBaseUrl != settings.authScalerBaseUrl && settings.authScalerBaseUrl != null) { - // not using authScalerBaseUrl -- change + if (settings.authScalerBaseUrl == null) return; + if (settings.scalerBaseUrl != settings.authScalerBaseUrl) { + // not using authScalerBaseUrl -- change URL console.debug("auth: switching to authenticated scaler."); settings.noauthScalerBaseUrl = settings.scalerBaseUrl; settings.scalerBaseUrl = settings.authScalerBaseUrl; digilib.fn.redisplay(data); + } else { + // we are authenticated, it must be a different kind of error + if (settings.returnToErrorImgMode && settings.noauthScalerBaseUrl != null) { + // remove error code flag and switch to noauth URL + delete data.scalerFlags['errcode']; + settings.scalerBaseUrl = settings.noauthScalerBaseUrl; + digilib.fn.redisplay(data); + } } };