From 82b8925d7f66dbe66e01af8d5d1e0be7ef15fe49 Mon Sep 17 00:00:00 2001 From: dbs Date: Sat, 14 Mar 2009 21:49:37 +0000 Subject: [PATCH] Commit some of the deltas, including lul skin and patron registration form git-svn-id: svn://svn.open-ils.org/ILS-Contrib/conifer/trunk@176 6d9bc8c9-1ec2-4278-b937-99fde70a366f --- web/opac/images/lul_logo.png | Bin 0 -> 70232 bytes web/opac/images/lul_logo_small.png | Bin 0 -> 15196 bytes web/opac/locale/en-CA/lang.dtd | 2596 +++++++++++++++++++++++++++ web/opac/skin/lul/xml/common/css_common.xml | 24 + web/opac/skin/lul/xml/common/logo.xml | 4 + xul/rel_1_4/server/patron/ue_config.js | 1066 +++++++++++ 6 files changed, 3690 insertions(+) create mode 100644 web/opac/images/lul_logo.png create mode 100644 web/opac/images/lul_logo_small.png create mode 100644 web/opac/locale/en-CA/lang.dtd create mode 100644 web/opac/skin/lul/xml/common/css_common.xml create mode 100644 web/opac/skin/lul/xml/common/logo.xml create mode 100644 xul/rel_1_4/server/patron/ue_config.js diff --git a/web/opac/images/lul_logo.png b/web/opac/images/lul_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..867951c9262c9ee56b262c83bae77130c53594a1 GIT binary patch literal 70232 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 A@c;k- literal 0 HcmV?d00001 diff --git a/web/opac/images/lul_logo_small.png b/web/opac/images/lul_logo_small.png new file mode 100644 index 0000000000000000000000000000000000000000..db617a84272d6b138204b0721a579062a815c155 GIT binary patch literal 15196 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 literal 0 HcmV?d00001 diff --git a/web/opac/locale/en-CA/lang.dtd b/web/opac/locale/en-CA/lang.dtd new file mode 100644 index 0000000000..80f7e8a558 --- /dev/null +++ b/web/opac/locale/en-CA/lang.dtd @@ -0,0 +1,2596 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +YYYY-MM-DD. Times must have the form HH:MM"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +marked with colour"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +colour)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +To view or print a summary of the changes, click on the 'View Summary' link.
To save the user, click on the 'Save User' button."> + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/opac/skin/lul/xml/common/css_common.xml b/web/opac/skin/lul/xml/common/css_common.xml new file mode 100644 index 0000000000..64902fb758 --- /dev/null +++ b/web/opac/skin/lul/xml/common/css_common.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/web/opac/skin/lul/xml/common/logo.xml b/web/opac/skin/lul/xml/common/logo.xml new file mode 100644 index 0000000000..df9dbba60d --- /dev/null +++ b/web/opac/skin/lul/xml/common/logo.xml @@ -0,0 +1,4 @@ +
+ + +
diff --git a/xul/rel_1_4/server/patron/ue_config.js b/xul/rel_1_4/server/patron/ue_config.js new file mode 100644 index 0000000000..06e5160ef5 --- /dev/null +++ b/xul/rel_1_4/server/patron/ue_config.js @@ -0,0 +1,1066 @@ +/* ----------------------------------------------------------------------- + ----------------------------------------------------------------------- */ +const SC_FETCH_ALL = 'open-ils.circ:open-ils.circ.stat_cat.actor.retrieve.all'; +const SC_CREATE_MAP = 'open-ils.circ:open-ils.circ.stat_cat.actor.user_map.create'; +const SV_FETCH_ALL = 'open-ils.circ:open-ils.circ.survey.retrieve.all'; +const FETCH_ID_TYPES = 'open-ils.actor:open-ils.actor.user.ident_types.retrieve'; +const FETCH_GROUPS = 'open-ils.actor:open-ils.actor.groups.tree.retrieve'; +const FETCH_NET_LEVELS = 'open-ils.actor:open-ils.actor.net_access_level.retrieve.all'; +const UPDATE_PATRON = 'open-ils.actor:open-ils.actor.patron.update'; +const PATRON_SEARCH = 'open-ils.actor:open-ils.actor.patron.search.advanced'; +const ZIP_SEARCH = 'open-ils.search:open-ils.search.zip'; +const FETCH_ADDR_MEMS = 'open-ils.actor:open-ils.actor.address.members'; +const FETCH_GRP_MEMS = 'open-ils.actor:open-ils.actor.usergroup.members.retrieve'; +const CREATE_USER_NOTE = 'open-ils.actor:open-ils.actor.note.create'; +const CHECK_BARCODE = 'open-ils.actor:open-ils.actor.barcode.exists'; +const defaultState = 'ON'; +const defaultCountry = 'Canada'; +const defaultNetAccess = 'None'; +const defaultNetLevel = 1; +const CSS_INVALID_DATA = 'invalid_value'; +const ADULT_AGE = 18; +//const GUARDIAN_NOTE = 'SYSTEM: Parent/Guardian'; + +var dataFields; +const laxRegex = /\w+/; +const numRegex = /^\d+$/; +const wordRegex = /^[\w-]+$/; +const unameRegex = /^\w[\.\w\@-]*$/; +const ssnRegex = /^\d{3}-\d{2}-\d{4}$/; +const dlRegex = /^[a-zA-Z]{2}-\w+/; /* driver's license */ +const phoneRegex = /^\d{3}-\d{3}-\d{4}(| \S+.*)$/i; +const nonumRegex = /^[a-zA-Z]\D*$/; /* no numbers, no beginning whitespace */ +const dateRegex = /^\d{4}-\d{2}-\d{2}/; +const zipRegex = /^\d{5}(-\d{4}|-?$)/; /* 12345 or 12345-6789 */ + +var barredAlerted = false; + + +function uEditUsrnameBlur(field) { + var usrname = uEditNodeVal(field); + if (!usrname) { return; } + var req = new Request(CHECK_USERNAME, SESSION, usrname); + req.callback( + function(r) { + var res = r.getResultObject(); + if( res !== null && res != patron.id() ) { + field.widget.onblur = null; /* prevent alert storm */ + alertId('ue_dup_username'); + field.widget.onblur = uEditUsrnameBlur; + setTimeout( + function() { + field.widget.node.focus(); + field.widget.node.select(); + }, 10 + ); + } + } + ); + req.send(); +} + + +function uEditBarcodeBlur(field) { + var barcode = uEditNodeVal(field); + if(!barcode) return; + _debug("blurring card with new value " + barcode); + var req = new Request(CHECK_BARCODE, SESSION, barcode); + req.callback( + function(r) { + var res = r.getResultObject(); + if( res == 1 ) { + field.widget.onblur = null; /* prevent alert storm */ + alertId('ue_dup_barcode'); + field.widget.onblur = uEditBarcodeBlur; + setTimeout( + function() { + field.widget.node.focus(); + field.widget.node.select(); + }, 10 + ); + } else { + var node = uEditFindFieldByWId("ue_username"); + if(!node.widget.node.value) { + node.widget.node.value = barcode; + node.widget.node.onchange(); + } + } + } + ); + req.send(); +} + + +function uEditDefineData(patron) { + + var fields = [ + { + required : true, + object : patron.card(), + key : 'barcode', + errkey : 'ue_bad_barcode', + widget : { + id : 'ue_barcode', + regex : wordRegex, + type : 'input', + onblur : uEditBarcodeBlur + } + }, + { + required : true, + object : patron, + key : 'usrname', + errkey : 'ue_bad_username', + widget : { + id : 'ue_username', + regex : unameRegex, + type : 'input', + onblur : uEditUsrnameBlur + } + }, + { + required : (patron.isnew()) ? true : false, + object : patron, + key : 'passwd', + errkey : 'ue_bad_password', + widget : { + id : 'ue_password1', + type : 'input', + onpostchange : function(field, newval) { + var pw2 = uEditFindFieldByWId('ue_password2'); + /* tell the second passsword input to re-validate */ + pw2.widget.node.onchange(); + } + + } + }, + { + required : (patron.isnew()) ? true : false, + object : patron, + key : 'passwd', + errkey : 'ue_bad_password', + widget : { + id : 'ue_password2', + type : 'input', + onpostchange : function(field, newval) { + var pw1f = uEditFindFieldByWId('ue_password1'); + var pw1 = uEditNodeVal(pw1f); + field.widget.regex = new RegExp('^'+pw1+'$'); + if( pw1 ) field.required = true; + else { + if(!patron.isnew()) + field.required = false; + } + } + } + }, + { + required : true, + object : patron, + key : 'first_given_name', + errkey : 'ue_bad_firstname', + widget : { + id : 'ue_firstname', + regex : nonumRegex, + type : 'input', + onblur : function(field) { + uEditCheckNamesDup('first', field ); + } + } + }, + + { + required : false, + object : patron, + key : 'second_given_name', + errkey : 'ue_bad_middlename', + widget : { + id : 'ue_middlename', + regex : nonumRegex, + type : 'input' + } + }, + { + required : true, + object : patron, + key : 'family_name', + errkey : 'ue_bad_lastname', + widget : { + id : 'ue_lastname', + regex : nonumRegex, + type : 'input', + onblur : function(field) { + uEditCheckNamesDup('last', field ); + } + } + }, + { + required : false, + object : patron, + key : 'suffix', + widget : { + id : 'ue_suffix', + type : 'input', + onload : function(val) { + setSelector($('ue_suffix_selector'), val); + $('ue_suffix_selector').onchange = function() { + uEditFindFieldByKey('suffix').widget.node.onchange(); + } + }, + } + }, + { + required : false, + object : patron, + key : 'dob', + errkey : 'ue_bad_dob', + widget : { + id : 'ue_dob', + regex : dateRegex, + type : 'input', + onpostchange : function(field) { uEditCheckDOB(field); }, + onblur : function(field) { uEditCheckDOB(field); } + } + }, + { + required : true, + object : patron, + key : 'ident_type', + errkey : 'ue_no_ident', + widget : { + id : 'ue_primary_ident_type', + regex : numRegex, + type : 'select', + onpostchange : function(field, newval) + { _uEditIdentPostchange('primary', field, newval); } + } + }, + { + required : false, + object : patron, + key : 'ident_value', + widget : { + id : 'ue_primary_ident', + type : 'input', + onblur : function(field) { + uEditCheckIdentDup(field); + } + } + }, + { + required : false, + object : patron, + key : 'ident_value2', + widget : { + id : 'ue_secondary_ident', + type : 'input' + } + }, + { + required : false, + object : patron, + key : 'email', + errkey : 'ue_bad_email', + widget : { + id : 'ue_email', + type : 'input', + regex : /.+\@.+\..+/, /* make me better */ + onblur : function(field) { + var val = uEditNodeVal(field); + if( val && val != field.oldemail ) { + uEditRunDupeSearch('email', + { email : { value : val, group : 0 } }); + field.oldemail = val; + } + } + } + }, + { + required : false, + object : patron, + key : 'day_phone', + errkey : 'ue_bad_phone', + widget : { + id : 'ue_day_phone', + type : 'input', + regex : phoneRegex, + } + }, + { + required : false, + object : patron, + key : 'evening_phone', + errkey : 'ue_bad_phone', + widget : { + id : 'ue_night_phone', + type : 'input', + regex : phoneRegex, + } + }, + { + required : false, + object : patron, + key : 'other_phone', + errkey : 'ue_bad_phone', + widget : { + id : 'ue_other_phone', + type : 'input', + regex : phoneRegex, + } + }, + { + required : true, + object : patron, + key : 'home_ou', + widget : { + id : 'ue_org_selector', + type : 'select', + regex : numRegex, + } + }, + { + required : true, + object : patron, + key : 'expire_date', + errkey : 'ue_bad_expire', + widget : { + id : 'ue_expire', + type : 'input', + regex : dateRegex, + } + }, + { + required : false, + object : patron, + key : 'active', + widget : { + id : 'ue_active', + type : 'checkbox', + } + }, + { + required : false, + object : patron, + key : 'barred', + widget : { + id : 'ue_barred', + type : 'checkbox', + onpostchange : function(field, val) { + var afield = uEditFindFieldByKey('alert_message'); + if( val ) { + if( !barredAlerted ) { + barredAlerted = true; + alertId('ue_made_barred'); + } + afield.required = true; + } else { + afield.required = false; + } + } + } + }, + { + required : true, + object : patron, + key : 'profile', + errkey : 'ue_no_profile', + widget : { + id : 'ue_profile', + type : 'select', + regex : numRegex, + onpostchange : function(field, value) { + var type = groupsCache[value]; + if(!type) return; + var interval = type.perm_interval(); + + /* interval_to_seconds expects 'M' for months, 'm' for minutes */ + interval = interval.replace(/mon/, 'Mon'); + var intsecs = parseInt(interval_to_seconds(interval)); + + var expdate = new Date(); + var exptime = expdate.getTime(); + exptime += intsecs * 1000; + expdate.setTime(exptime); + + _debug("profile change (interval= '"+interval+"', seconds="+intsecs+")\n\tgenerated a date of " + expdate); + + var year = expdate.getYear() + 1900; + var month = (expdate.getMonth() + 1) + ''; + var day = (expdate.getDate()) + ''; + + if(!month.match(/\d{2}/)) month = '0' + month; + if(!day.match(/\d{2}/)) day = '0' + day; + + + var node = $('ue_expire'); + node.value = year+'-'+month+'-'+day; + + _debug("profile change formatted date to "+ node.value); + node.onchange(); + } + } + }, + { + required : false, + object : patron, + key : 'net_access_level', + widget : { + id : 'ue_net_level', + type : 'select' + } + }, + { + required : false, + object : patron, + key : 'master_account', + widget : { + id : 'ue_group_lead', + type : 'checkbox', + } + }, + { + required : true, + object : patron, + key : 'claims_returned_count', + widget : { + id : 'ue_claims_returned', + type : 'input', + regex : numRegex, + disabled : true + } + }, + { + required : false, + object : patron, + key : 'alert_message', + widget : { + id : 'ue_alert_message', + type : 'input', + } + } + ]; + + for( var f in fields ) + dataFields.push(fields[f]); + + uEditBuildAddrs(patron); + uEditBuildPatronSCM(patron); +} + +var uEditOldFirstName; +var uEditOldMiddleName; /* future */ +var uEditOldLastName; +function uEditCheckNamesDup(type, field) { + var newval = uEditNodeVal(field); + if(!newval) return; + + var dosearch = false; + + if(type =='first') { + if( newval != uEditOldFirstName ) + dosearch = true; + uEditOldFirstName = newval; + } + + if(type =='last') { + if( newval != uEditOldLastName ) + dosearch = true; + uEditOldLastName = newval; + } + + if( dosearch && uEditOldFirstName && uEditOldLastName ) { + var search_hash = {}; + search_hash['first_given_name'] = { value : uEditOldFirstName, group : 0 }; + search_hash['family_name'] = { value : uEditOldLastName, group : 0 }; + uEditRunDupeSearch('names', search_hash); + } +} + +var uEditOldIdentValue; +function uEditCheckIdentDup(field) { + var newval = uEditNodeVal(field); + if( newval && newval != uEditOldIdentValue ) { + /* searches all ident_value fields */ + var search_hash = { ident : { value : newval, group : 2 } }; + uEditRunDupeSearch('ident', search_hash); + uEditOldIdentValue = newval; + } +} + + +/* Adds all of the addresses attached to the patron object + to the fields array */ +var uEditAddrTemplate; +function uEditBuildAddrs(patron) { + var tbody = $('ue_address_tbody'); + if(!uEditAddrTemplate) + uEditAddrTemplate = tbody.removeChild($('ue_address_template')); + for( var a in patron.addresses() ) + uEditBuildAddrFields( patron, patron.addresses()[a]); +} + + +function uEditDeleteAddr( tbody, row, address, detach ) { + if(!confirm($('ue_delete_addr_warn').innerHTML)) return; + if(address.isnew()) { + patron.addresses( + grep( patron.addresses(), + function(i) { + return (i.id() != address.id()); + } + ) + ); + if(!patron.addresses()) + patron.addresses([]); + + /* XXX */ + for( var f in dataFields ) { + if( dataFields[f].object == address ) { + dataFields[f] = null; + } + } + + dataFields = compactArray(dataFields); + + } else { + + if( detach ) { /* remove the offending address from the list */ + patron.addresses( + grep( + patron.addresses(), + function(i) { + return (i.id() != address.id()); + } + ) + ); + if(!patron.addresses()) + patron.addresses([]); + + } else { + address.isdeleted(1); + } + } + + tbody.removeChild(row); + + var bid = patron.billing_address(); + bid = (typeof bid == 'object') ? bid.id() : bid; + + var mid = patron.mailing_address(); + mid = (typeof mid == 'object') ? mid.id() : mid; + + + /* ----------------------------------------------------------------------- + if we're deleting a billing or mailing address + make sure some other address is automatically + assigned as the billing or mailng address + ----------------------------------------------------------------------- */ + + if( bid == address.id() ) { + for( var a in patron.addresses() ) { + var addr = patron.addresses()[a]; + if(!addr.isdeleted() && addr.id() != address.id()) { + var node = uEditFindAddrInput('billing', addr.id()); + node.checked = true; + uEditAddrTypeClick(node, 'billing'); + break; + } + } + } + + if( mid == address.id() ) { + for( var a in patron.addresses() ) { + var addr = patron.addresses()[a]; + if(!addr.isdeleted() && addr.id() != address.id()) { + var node = uEditFindAddrInput('mailing', addr.id()); + node.checked = true; + uEditAddrTypeClick(node, 'mailing'); + break; + } + } + } + +} + + +function uEditFindAddrInput(type, id) { + var tbody = $('ue_address_tbody'); + var rows = tbody.getElementsByTagName('tr'); + for( var r in rows ) { + var row = rows[r]; + if(row.parentNode != tbody) continue; + var node = $n(row, 'ue_addr_'+type+'_yes'); + if( node.getAttribute('address') == id ) + return node; + } +} + + +function uEditAddrTypeClick(input, type) { + var tbody = $('ue_address_tbody'); + var rows = tbody.getElementsByTagName('tr'); + for( var r in rows ) { + var row = rows[r]; + if(row.parentNode != tbody) continue; + var node = $n(row, 'ue_addr_'+type+'_yes'); + removeCSSClass(node.parentNode,'addr_info_checked'); + } + + addCSSClass(input.parentNode,'addr_info_checked'); + patron[type+'_address'](input.getAttribute('address')); + patron.ischanged(1); +} + + + + +/* Creates the field entries for an address object. */ +function uEditBuildAddrFields(patron, address) { + + var tbody = $('ue_address_tbody'); + + var row = tbody.appendChild( + uEditAddrTemplate.cloneNode(true)); + + uEditCheckSharedAddr(patron, address, tbody, row); + + $n(row, 'ue_addr_delete').onclick = + function() { + uEditDeleteAddr(tbody, row, address); + uEditCheckErrors(); + }; + + if( patron.billing_address() && + address.id() == patron.billing_address().id() ) + $n(row, 'ue_addr_billing_yes').checked = true; + + if( patron.mailing_address() && + address.id() == patron.mailing_address().id() ) + $n(row, 'ue_addr_mailing_yes').checked = true; + + $n(row, 'ue_addr_billing_yes').setAttribute('address', address.id()); + $n(row, 'ue_addr_mailing_yes').setAttribute('address', address.id()); + + /* currently, non-owners cannot edit an address */ + var disabled = (address.usr() != patron.id()) + + var fields = [ + { + required : false, + object : address, + key : 'address_type', + widget : { + base : row, + name : 'ue_addr_label', + type : 'input', + disabled : disabled, + } + }, + { + required : true, + object : address, + key : 'street1', + errkey : 'ue_bad_addr_street', + widget : { + base : row, + name : 'ue_addr_street1', + type : 'input', + disabled : disabled, + } + }, + { + required : false, + object : address, + key : 'street2', + errkey : 'ue_bad_addr_street', + widget : { + base : row, + name : 'ue_addr_street2', + type : 'input', + disabled : disabled, + } + }, + { + required : true, + object : address, + key : 'city', + errkey : 'ue_bad_addr_city', + widget : { + base : row, + name : 'ue_addr_city', + type : 'input', + disabled : disabled, + } + }, + { + required : false, + object : address, + key : 'county', + widget : { + base : row, + name : 'ue_addr_county', + type : 'input', + disabled : disabled, + } + }, + { + required : true, + object : address, + key : 'state', + errkey : 'ue_bad_addr_state', + widget : { + base : row, + name : 'ue_addr_state', + type : 'input', + disabled : disabled, + } + }, + { + required : true, + object : address, + key : 'country', + errkey : 'ue_bad_addr_country', + widget : { + base : row, + name : 'ue_addr_country', + type : 'input', + disabled : disabled, + } + }, + { + required : true, + object : address, + key : 'post_code', + errkey : 'ue_bad_addr_zip', + widget : { + base : row, + name : 'ue_addr_zip', + type : 'input', + disabled : disabled, + regex : laxRegex, + onblur : function(f) { + var v = uEditNodeVal(f); + var req = new Request(ZIP_SEARCH, v); + req.callback( + function(r) { + var info = r.getResultObject(); + if(!info) return; + var state = $n(f.widget.base, 'ue_addr_state'); + var county = $n(f.widget.base, 'ue_addr_county'); + var city = $n(f.widget.base, 'ue_addr_city'); + state.value = info.state; + state.onchange(); + county.value = info.county; + county.onchange(); + city.value = info.city; + city.onchange(); + } + ); + req.send(); + } + } + }, + { + required : false, + object : address, + key : 'within_city_limits', + widget : { + base : row, + name : 'ue_addr_inc_yes', + type : 'checkbox', + disabled : disabled, + } + }, + { + required : false, + object : address, + key : 'valid', + widget : { + base : row, + name : 'ue_addr_valid_yes', + type : 'checkbox', + disabled : disabled, + } + } + ]; + + for( var f in fields ) { + dataFields.push(fields[f]); + uEditActivateField(fields[f]); + } +} + +function uEditBuildPatronSCM(patron) { + /* get the list of pre-defined maps */ + var fields = uEditFindFieldsByKey('stat_cat_entry'); + var map; + var newmaps = []; + + /* for each user stat cat, pop it off the list, + updated the existing stat map field to match + the popped map and shove the existing stat + map field onto the user's list of stat maps */ + while( (map = patron.stat_cat_entries().pop()) ) { + + var field = grep(fields, + function(item) { + return (item.object.stat_cat() == map.stat_cat()); + } + ); + + if(field) { + var val = map.stat_cat_entry(); + field = field[0]; + $n(field.widget.base, field.widget.name).value = val; + setSelector($n(field.widget.base, 'ue_stat_cat_selector'), val ); + field.object.stat_cat_entry(val); + field.object.id(map.id()); + newmaps.push(field.object); + } + } + + for( var m in newmaps ) + patron.stat_cat_entries().push(newmaps[m]); +} + + +function uEditBuildSCMField(statcat, row) { + + var map = new actscecm(); + map.stat_cat(statcat.id()); + map.target_usr(patron.id()); + + var field = { + required : false, + object : map, + key : 'stat_cat_entry', + widget : { + base : row, + name : 'ue_stat_cat_newval', + type : 'input', + + onpostchange : function( field, newval ) { + + /* see if the current map already resides in + the patron entry list */ + var exists = grep( patron.stat_cat_entries(), + function(item) { + return (item.stat_cat() == statcat.id()); + } + ); + + if(newval) { + map.isdeleted(0); + setSelector($n(row, 'ue_stat_cat_selector'), newval); + } + + if(exists) { + if(!newval) { + + /* if the map is new but currently contains no value + remove it from the set of new maps */ + if(map.isnew()) { + patron.stat_cat_entries( + grep( patron.stat_cat_entries(), + function(item) { + return (item.stat_cat() != map.stat_cat()); + } + ) + ); + + } else { + map.isdeleted(1); + map.ischanged(0); + } + } + + } else { + + /* map does not exist in the map array but now has data */ + if(newval) { + map.isnew(1); + if(!patron.stat_cat_entries()) + patron.stat_cat_entries([]); + patron.stat_cat_entries().push(map); + } + } + } + } + } + + dataFields.push(field); +} + + + +/** Run this after a new ident type is selected */ +function _uEditIdentPostchange(type, field, newval) { + + if(!newval) return; + + /* When the ident type is changed, we change the + regex on the ident_value to match the selected type */ + var vfname = 'ident_value'; + if(type == 'secondary') vfname = 'ident_value2'; + var vfield = uEditFindFieldByKey(vfname); + var name = identTypesCache[uEditNodeVal(field)].name(); + + hideMe($(type+'_ident_ssn_help')); + hideMe($(type+'_ident_dl_help')); + + if(name.match(/ssn/i)) { + vfield.widget.regex = ssnRegex; + vfield.errkey = 'ue_bad_ident_ssn'; + unHideMe($(type+'_ident_ssn_help')); + + } else { + + if(name.match(/driver/i)) { + vfield.widget.regex = dlRegex; + vfield.errkey = 'ue_bad_ident_dl'; + unHideMe($(type+'_ident_dl_help')); + if(!uEditNodeVal(vfield)) + vfield.widget.node.value = defaultState + '-'; + + } else { + vfield.widget.regex = null; + vfield.errkey = null; + } + } + + /* focus then valdate the value field */ + vfield.widget.node.onchange(); + vfield.widget.node.focus(); +} + + +/* checks to see if the given address is shared by others. + * if so, the address row is styled and ... + */ + +function uEditCheckSharedAddr(patron, address, tbody, row) { + + if( address.isnew() || (patron.isnew() && !clone) ) return; + + var req = new Request(FETCH_ADDR_MEMS, SESSION, address.id()); + req.callback( + function(r) { + + var members = r.getResultObject(); + var shared = false; + + for( var m in members ) { + var id = members[m]; + + if( id != patron.id() ) { + + addCSSClass(row.getElementsByTagName('table')[0], 'shared_address'); + unHideMe($n(row, 'shared_row')); + $n(row, 'ue_addr_delete').disabled = true; + + if( address.usr() != patron.id() ) { + var button = $n(row, 'ue_addr_detach'); + unHideMe(button); + button.onclick = + function() { uEditDeleteAddr( tbody, row, address, true ); } + } + + shared = true; + break; + } + } + + if( shared ) { + + /* if this is a shared address, set the owner field and + give the staff a chance to edit the owner if it's not this user */ + + var nnode = $n(row, 'addr_owner_name'); + var link = $n(row, 'addr_owner'); + var id = address.usr(); + + if( id == patron.id() ) { + + nnode.appendChild(text( + patron.first_given_name() + ' ' + patron.family_name())); + hideMe($n(row, 'owner_link_div')); + + } else { + + var ses = cgi.param('ses'); + if (xulG) if (xulG.ses) ses = xulG.ses; + if (xulG) if (xulG.params) if (xulG.params.ses) ses = xulG.params.ses; + link.onclick = + function() { window.xulG.spawn_editor({ses:ses,usr:id}) }; + + if( userCache[id] ) { + var usr = userCache[id]; + nnode.appendChild(text( + usr.first_given_name() + ' ' + usr.family_name())); + + } else { + + fetchFleshedUser( id, + function(usr) { + userCache[usr.id()] = usr; + nnode.appendChild(text( + usr.first_given_name() + ' ' + usr.family_name())); + } + ); + } + } + } + } + ); + + req.send(); +} + + + + +var __lastdob; +function uEditCheckDOB(field) { + + var dob = uEditNodeVal(field); + + /* don't bother if the data isn't valid */ + if(!dob || !dob.match(field.widget.regex)) + return; + + if( dob == __lastdob ) return; + + __lastdob = dob; + + var parts = dob.split(/-/); + parts[2] = parts[2].replace(/[T ].*/,''); + dob = buildDate( parts[0], parts[1], parts[2] ); + + var today = new Date(); + + if(!dob || dob > today) { + addCSSClass(field.widget.node, CSS_INVALID_DATA); + alertId('ue_bad_date'); + return; + } + + var base = new Date(); + base.setYear( today.getYear() + 1900 - ADULT_AGE ); + + /* patron is at least 18 */ + + var f = uEditFindFieldByKey('ident_value2'); + + if( dob < base ) { /* patron is of age */ + f.required = false; + hideMe(f.widget.node.parentNode.parentNode.parentNode); + return; + } + + unHideMe(f.widget.node.parentNode.parentNode.parentNode); + f.required = true; + uEditCheckErrors(); +} + + + -- 2.11.0