configurable base URL for product links
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 5 Nov 2014 21:09:25 +0000 (13:09 -0800)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 5 Nov 2014 21:09:25 +0000 (13:09 -0800)
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
src/od_config_template.coffee
src/od_pages_opac.coffee
src/overdrive.coffee

index d20a256..90d2c12 100644 (file)
@@ -42,6 +42,9 @@ define [
                # Define whether a user password is required to complete patron authentication
                password_required: 'false' # or 'true'
 
+               # Base URL/FQDN(s) for hyperlinks to OverDrive products
+               productbaseURLs: [ 'elm.lib.overdrive.com' ]
+
                # Define a blacklist based on hostname component, eg, abc.domain1 or xyz.domain2
                blacklisted: ( hn = window.location.hostname, bl = ['abc', 'xyz'] ) ->
                        return unless hn = hn.match(/^(.+?)\./)?[1] # no proper hostname found
index e64dee3..2c58250 100644 (file)
@@ -5,11 +5,13 @@ define [
        'jquery'
        'lodash'
        'od_api'
+       'od_config'
        'jquery-ui'
 ], (
        $
        _
        od
+       config
 ) ->
 
        $.fn.extend
@@ -34,7 +36,9 @@ define [
                # Return an Overdrive product ID or null from a given DOM context.
                # The context can be represented as a jQuery object or as a selector string
                _productID: ->
-                       href = $('a[href*="downloads.bclibrary.ca"], a[href*="elm.lib.overdrive.com"]', @).attr('href')
+                       hrefs = []
+                       hrefs.push('a[href*="' + productbaseURL + '"]') for productbaseURL in config.productbaseURLs
+                       href = $(hrefs.join(','), @).attr('href')
                        /ID=(.+)/.exec(href)?[1]
 
                # Modify search result row to show e-holdings (available formats and
index 4d23d42..63c792b 100644 (file)
@@ -172,10 +172,8 @@ require [
 
                        # List of hrefs which correspond to Overdrive e-items
                        # TODO this list is duplicated in module od_pages_opac
-                       hrefs = [
-                               'a[href*="downloads.bclibrary.ca"]' # Used in OPAC
-                               'a[href*="elm.lib.overdrive.com"]' # Used in XUL staff client
-                       ]
+                       hrefs = []
+                       hrefs.push('a[href*="' + productbaseURL + '"]') for productbaseURL in config.productbaseURLs
 
                        # Prepare each row of the results table which has an embedded
                        # Overdrive product ID.  A list of Overdrive product IDs is