LP#1434728: make password_required configurable per library
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Fri, 20 Mar 2015 22:17:47 +0000 (15:17 -0700)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Fri, 20 Mar 2015 22:17:47 +0000 (15:17 -0700)
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
src/od_api.coffee
src/od_config_template.coffee

index d29f717..4968c80 100644 (file)
@@ -295,7 +295,7 @@ define [
                                un = session.prefs.barcode or session.creds.un()
 
                                # Use the password that was stored in session cache or a dummy value
-                               pw = session.creds.pw config.password_required
+                               pw = session.creds.pw config.password_required(session.prefs.home_library)
 
                                # Remove the stored credentials from cache as soon as they are
                                # no longer needed
@@ -310,7 +310,7 @@ define [
                                        grant_type: 'password'
                                        username: un
                                        password: pw
-                                       password_required: config.password_required
+                                       password_required: config.password_required session.prefs.home_library
                                        scope: scope
 
                        # Complete login sequence if the session cache is invalid
index 157ea78..dd40599 100644 (file)
@@ -39,8 +39,14 @@ define [
                # Define the mapping function between long name and authorization name
                authorizationname: (id) -> longname[id]
 
-               # Define whether a user password is required to complete patron authentication
-               password_required: 'false' # or 'true'
+               # Define whether a user password is required to complete patron authentication.
+               # This function takes the home library's long name as a parameter.
+               # You can use this parameter to lookup whether the library requires a password.
+               # If all your libraries do (or don't) require a password, modify this function
+               # to always return 'true' (or 'false').
+               password_required: (libraryname) ->
+                       no_password = [ 'long name one' ]
+                       if libraryname in no_password then return 'false' else return 'true'
 
                # Main base URL (used for direct links to content provider's site)
                baseURL: 'http://example.com/ContentDetails.htm'