From: erickson Date: Sat, 8 Dec 2007 20:07:28 +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=c21af1896b05feccd4afd0e42e7b2890b7706cfa;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/branches/rel_1_2@8172 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..247300cc7b 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..3426bfb14c 100644 --- a/Open-ILS/web/opac/common/js/org_utils.js +++ b/Open-ILS/web/opac/common/js/org_utils.js @@ -2,6 +2,13 @@ /* 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..bb9fee7e42 100644 --- a/Open-ILS/web/opac/skin/default/js/myopac.js +++ b/Open-ILS/web/opac/skin/default/js/myopac.js @@ -847,6 +847,15 @@ 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);