From: Mark Cooper Date: Thu, 25 Oct 2012 05:51:53 +0000 (-0700) Subject: LP#926307: MARC Federated Search does not support authenticated Z39.50 servers X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=refs%2Fheads%2Fuser%2Fmcooper%2Flp926307_acq_zserarch_with_auth;p=working%2FEvergreen.git LP#926307: MARC Federated Search does not support authenticated Z39.50 servers Added lookup of z3950 server credentials so that username and password are set if found. Signed-off-by: Mark Cooper --- diff --git a/Open-ILS/src/templates/acq/picklist/bib_search.tt2 b/Open-ILS/src/templates/acq/picklist/bib_search.tt2 index dd7e83cc2e..e159bf0de7 100644 --- a/Open-ILS/src/templates/acq/picklist/bib_search.tt2 +++ b/Open-ILS/src/templates/acq/picklist/bib_search.tt2 @@ -5,6 +5,11 @@
diff --git a/Open-ILS/web/js/ui/default/acq/picklist/bib_search.js b/Open-ILS/web/js/ui/default/acq/picklist/bib_search.js index 43457289e2..013eb7cc24 100644 --- a/Open-ILS/web/js/ui/default/acq/picklist/bib_search.js +++ b/Open-ILS/web/js/ui/default/acq/picklist/bib_search.js @@ -88,6 +88,8 @@ function doSearch(values) { liTable.reset(); showDiv('oils-acq-pl-loading'); + var z_creds = loadZCreds(); + search = { service : [], username : [], @@ -102,8 +104,17 @@ function doSearch(values) { var selected = bibSourceSelect.getValue(); for(var i = 0; i < selected.length; i++) { search.service.push(selected[i]); - search.username.push(''); - search.password.push(''); + var usrname = ''; var passwd = ''; + if(z_creds) { + for(var host in z_creds.hosts) { + if(z_creds.hosts[host].services[selected[i]]) { + usrname = z_creds.hosts[host].services[selected[i]].username; + passwd = z_creds.hosts[host].services[selected[i]].password; + } + } + } + search.username.push(usrname); + search.password.push(passwd); sourceCount++; } @@ -149,6 +160,19 @@ function showDiv(div) { dojo.style(div, 'display', 'block'); } +function loadZCreds() { + if (typeof JSAN == 'undefined') return false; + JSAN.errorLevel = "die"; + JSAN.addRepository('/xul/server/'); + JSAN.use('util.file'); + var creds; + var file = new util.file('z3950_store'); + if (file._file.exists()) { + creds = file.get_object(); + file.close(); + } + return creds; +} openils.Util.addOnLoad(drawForm);