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';
/* ---------------------------------------------------------------------------- */
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 );
/* 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);
<!ENTITY myopac.summary.username.dup "The requested username is not available. Please choose a different username.">
<!ENTITY myopac.summary.username.success "Username successfully updated">
<!ENTITY myopac.summary.username.failure "Username update failed">
-<!ENTITY myopac.summary.username.invalid "Username cannot contain spaces">
+<!ENTITY myopac.summary.username.invalid "Username cannot contain spaces or have the same format as a barcode">
<!ENTITY myopac.summary.email.error "Please enter a valid email address">
<!ENTITY myopac.summary.email.success "Email address successfully updated">
<!ENTITY myopac.summary.email.failed "Email address update failed">
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);