From 5783f7654d0c72a4a17024305b3648b557b8deae Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Wed, 5 Nov 2014 13:09:25 -0800 Subject: [PATCH] configurable base URL for product links Signed-off-by: Jeff Davis --- src/od_config_template.coffee | 3 +++ src/od_pages_opac.coffee | 6 +++++- src/overdrive.coffee | 6 ++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/od_config_template.coffee b/src/od_config_template.coffee index d20a256..90d2c12 100644 --- a/src/od_config_template.coffee +++ b/src/od_config_template.coffee @@ -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 diff --git a/src/od_pages_opac.coffee b/src/od_pages_opac.coffee index e64dee3..2c58250 100644 --- a/src/od_pages_opac.coffee +++ b/src/od_pages_opac.coffee @@ -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 diff --git a/src/overdrive.coffee b/src/overdrive.coffee index 4d23d42..63c792b 100644 --- a/src/overdrive.coffee +++ b/src/overdrive.coffee @@ -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 -- 2.11.0