[%- PROCESS "opac/parts/header.tt2"; PROCESS "opac/parts/org_selector.tt2"; WRAPPER "opac/parts/base.tt2"; INCLUDE "opac/parts/topnav.tt2"; ctx.page_title = l("Request Library Card"); # for privacy, reload the page after (default) 5 minutes refresh_time = ctx.register.settings.refresh_timeout || 300; ctx.refresh = refresh_time _ '; ' _ ctx.opac_root _ '/home'; # some useful variables and MACROs for display, # field validation, and added info display ctx_org = ctx.physical_loc || ctx.search_ou || ctx.aou_tree.id; # list of the registration fields to (potentially) # display in the order they should be shown # post_code is the only field below that is required in the database and # post_code is only required if an address is created. # To prevent any of these fields from showing locally, regardless org unit # settings, simply remove the fields from this list. In the case of # addresses, if all address fields are removed, no attempt at creating # an address will be made (and post_code will no longer be required). register_fields = [ {class => 'stgu', name = 'first_given_name', label => l('First Name')}, {class => 'stgu', name = 'second_given_name', label => l('Middle Name')}, {class => 'stgu', name = 'family_name', label => l('Last Name')}, {class => 'stgma', name = 'street1', label => l('Street Address')}, {class => 'stgma', name = 'street2', label => l('Street Address (2)')}, {class => 'stgma', name = 'city', label => l('City')}, {class => 'stgma', name = 'county', label => l('County')}, {class => 'stgma', name = 'state', label => l('State')}, {class => 'stgma', name = 'post_code', label => l('Zip Code')}, {class => 'stgu', name = 'dob', label => l('Date of Birth')}, {class => 'stgu', name = 'day_phone', label => l('Phone Number')}, {class => 'stgu', name = 'email', label => l('Email Address')} {class => 'stgu', name = 'usrname', label => l('Requested Username')} ]; # The dojo date widget in the patron edit UI only accepts default # values in ISO8601 format. It will not accept locale-shaped dates. IF !ctx.register.settings.stgu.dob.example; ctx.register.settings.stgu.dob.example = l('YYYY-MM-DD or YYYY/MM/DD'); END; %]

[% l('Account Registration') %]

[% l('Request a Library Card')%]


[% IF ctx.register.success %]

[% l('Registration successful!') %]

[% l('Please see library staff to complete your registration.') %]

[% IF ctx.register.username_taken %]

[% |l %] Note: The selected username may be in use by another patron. You may select another username when finalizing your registration or in the online catalog. [% END %]

[% END %]

[% l('Return to the Catalog') %]

[% ELSIF ctx.register.error %]

[% l('A registration error has occurred') %]

[% l('Please see library staff to complete your registration.') %]


[% l('Return to the Catalog') %]

[% ELSE %] [% IF ctx.user %]

[% l('New account requested by [_1] [_2] [_3] [_4] [_5]', ctx.user.prefix, ctx.user.first_given_name, ctx.user.second_given_name, ctx.user.family_name, ctx.user.suffix ) | html %]

[% END %]
[% # <=== shifting code left for readability # render the table row for each of the register fields FOR field_def IN register_fields; fclass = field_def.class; fname = field_def.name; field_path = fclass _ "." _ fname; show = ctx.register.settings.$fclass.$fname.show; require = ctx.register.settings.$fclass.$fname.require; example = ctx.register.settings.$fclass.$fname.example; value = ctx.register.values.$fclass.$fname; invalid_require = ctx.register.invalid.$fclass.$fname.require; invalid_regex = ctx.register.invalid.$fclass.$fname.regex; NEXT UNLESS require OR show; %] [% END %] [% IF ctx.register.opt_in_settings.size > 0 %] [% FOR optin IN ctx.register.opt_in_settings %] [% END %] [% END %]
[% INCLUDE build_org_selector name='stgu.home_ou' value=value || ctx_org can_have_users_only=1 valid_org_list=ctx.register.valid_orgs %] [% IF ctx.register.invalid.bad_home_ou %] [% l('Please select a valid library') %] [% END %]
[% IF require %] * [% END %] [% IF invalid_require %] [% l('This field is required') %] [% ELSIF invalid_regex %] [% l('The value entered does not have the correct format') %] [% END %] [% IF example %] [% l('(Example: [_1])', example) %] [% END %]
[% l('Go Back') %]
[% END %]
[%- END %]