From: erickson Date: Sat, 8 Dec 2007 20:22:18 +0000 (+0000) Subject: implemented org setting for barcode regex to assist the opac in determing if a user... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=cb93ad7ab591db8670b2097894af534fab14ccf9;p=Evergreen.git implemented org setting for barcode regex to assist the opac in determing if a user is logging in with their username or barcode git-svn-id: svn://svn.open-ils.org/ILS/trunk@8173 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/opac/common/js/config.js b/Open-ILS/web/opac/common/js/config.js index e77b3e9370..12499486e8 100644 --- a/Open-ILS/web/opac/common/js/config.js +++ b/Open-ILS/web/opac/common/js/config.js @@ -351,6 +351,7 @@ var FETCH_HIGHEST_PERM_ORG = 'open-ils.actor:open-ils.actor.user.perm.highest_o var FETCH_USER_NOTES = 'open-ils.actor:open-ils.actor.note.retrieve.all'; var FETCH_ORG_BY_SHORTNAME = 'open-ils.actor:open-ils.actor.org_unit.retrieve_by_shorname'; var FETCH_BIB_ID_BY_BARCODE = 'open-ils.search:open-ils.search.bib_id.by_barcode'; +var FETCH_ORG_SETTING = 'open-ils.actor:open-ils.actor.ou_setting.ancestor_default'; /* ---------------------------------------------------------------------------- */ diff --git a/Open-ILS/web/opac/common/js/opac_utils.js b/Open-ILS/web/opac/common/js/opac_utils.js index cd0f2a198b..fd50ebac9a 100644 --- a/Open-ILS/web/opac/common/js/opac_utils.js +++ b/Open-ILS/web/opac/common/js/opac_utils.js @@ -648,7 +648,10 @@ function doLogin(suppressEvents) { org : getOrigLocation() }; - if( uname.match(REGEX_BARCODE) ) args.barcode = uname; /* make this better */ + r = fetchOrgSettingDefault(globalOrgTree.id(), 'opac.barcode_regex'); + if(r) REGEX_BARCODE = new RegExp(r); + + if( uname.match(REGEX_BARCODE) ) args.barcode = uname; else args.username = uname; var auth_request = new Request( LOGIN_COMPLETE, args ); diff --git a/Open-ILS/web/opac/common/js/org_utils.js b/Open-ILS/web/opac/common/js/org_utils.js index fd45f41684..4fcd742449 100644 --- a/Open-ILS/web/opac/common/js/org_utils.js +++ b/Open-ILS/web/opac/common/js/org_utils.js @@ -2,6 +2,15 @@ /* org tree utilities */ /* ------------------------------------------------------------------------------------------------------ */ +function fetchOrgSettingDefault(orgId, name) { + var req = new Request(FETCH_ORG_SETTING, orgId, name); + req.send(true); + var res = req.result(); + return res.value; +} + + + /* takes an org unit or id and return the numeric depth */ function findOrgDepth(org_id_or_node) { var org = findOrgUnit(org_id_or_node); diff --git a/Open-ILS/web/opac/locale/en-US/opac.dtd b/Open-ILS/web/opac/locale/en-US/opac.dtd index afbb522668..44f535b3df 100644 --- a/Open-ILS/web/opac/locale/en-US/opac.dtd +++ b/Open-ILS/web/opac/locale/en-US/opac.dtd @@ -284,7 +284,7 @@ Please see a librarian to renew your account."> - + diff --git a/Open-ILS/web/opac/skin/default/js/myopac.js b/Open-ILS/web/opac/skin/default/js/myopac.js index fc8d7cf776..362834aa3c 100644 --- a/Open-ILS/web/opac/skin/default/js/myopac.js +++ b/Open-ILS/web/opac/skin/default/js/myopac.js @@ -847,6 +847,14 @@ function myOPACUpdateUsername() { return; } + r = fetchOrgSettingDefault(globalOrgTree.id(), 'opac.barcode_regex'); + if(r) REGEX_BARCODE = new RegExp(r); + + if(username.match(REGEX_BARCODE)) { + alert($('myopac_invalid_username').innerHTML); + return; + } + /* first see if the requested username is taken */ var req = new Request(CHECK_USERNAME, G.user.session, username); req.send(true);