Fridolin Somers
521d717372
When editing additional attributes of a patron of a category with a code with space (ie "CAT 3"), the Javascript is broken and Additional attributes are not displayed. This patch corrects by adding simple quotes around category code in JS code. Test plan : - Create an patron additional attribute - Create a new patron category with a space in code. ie "CAT 3" - Create a new patron of this category : /cgi-bin/koha/members/memberentry.pl?op=add&categorycode=CAT 3 => Without patch the JS is broken (Syntax error, unrecognized expression: [data-category_code=CAT 3]) and additional attributes are not displayed. => With patch the JS is not broken and additional attributes are displayed and can be edited. Signed-off-by: Marc Véron <veron@veron.ch> In current Koha version it is not possible to create category codes with blanks. To test, I changed an existing category code directly in the database. Then I followed the Test plan. Without patch, attribute types were not displayed. With patch, they were displayed as expected. Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> I recommend not using codes with spaces and fix existing ones. Koha doesn't allow you to add category codes with spaces, so the only way to do it is via SQL. This patch fixes a problem and passes all tests. Signed-off-by: Galen Charlton <gmc@esilibrary.com>
1390 lines
59 KiB
Text
1390 lines
59 KiB
Text
[% IF ( opduplicate ) %][% SET focusAction = "clearDupe" %][% END %]
|
|
[% USE KohaDates %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Patrons ›
|
|
[% IF ( opadd ) %]Add[% ELSIF ( opduplicate ) %]Duplicate[% ELSE %] Modify[% END %] [% IF ( categoryname ) %] [% categoryname %] patron[% ELSE %][% IF ( I ) %] Organization patron[% END %][% IF ( A ) %] Adult patron[% END %][% IF ( C ) %] Child patron[% END %][% IF ( P ) %] Professional patron[% END %][% IF ( S ) %] Staff patron[% END %][% END %][% UNLESS ( opadd ) %] [% surname %], [% firstname %][% END %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% INCLUDE 'calendar.inc' %]
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
$(document).ready(function() {
|
|
$("fieldset.rows input").addClass("noEnterSubmit");
|
|
$("#guarantordelete").click(function() {
|
|
$("#contact-details").hide().find('a').remove();
|
|
$("#guarantorid, #contactname, #contactfirstname").each(function () { this.value = "" });
|
|
$("#contactname, #contactfirstname")
|
|
.each(function () { this.type = 'text' })
|
|
.parent().find('span').remove();
|
|
$("#guarantorsearch").val("Set to Patron");
|
|
});
|
|
$("#select_city").change(function(){
|
|
var myRegEx=new RegExp(/(.*)\|(.*)\|(.*)\|(.*)/);
|
|
document.form.select_city.value.match(myRegEx);
|
|
document.form.zipcode.value=RegExp.$1;
|
|
document.form.city.value=RegExp.$2;
|
|
document.form.state.value=RegExp.$3;
|
|
document.form.country.value=RegExp.$4;
|
|
});
|
|
$(".clearDupe").on("focus",function(){
|
|
$(this).val("");
|
|
})
|
|
|
|
[% IF categorycode %]
|
|
update_category_code( "[% categorycode %]" );
|
|
[% ELSE %]
|
|
if ( $("#categorycode").length > 0 ){
|
|
var category_code = $("#categorycode").find("option:selected").val();
|
|
update_category_code( category_code );
|
|
}
|
|
[% END %]
|
|
$("#dateofbirth").datepicker({ maxDate: "-1D" });
|
|
$("#entryform").validate({
|
|
submitHandler: function(form) {
|
|
$("body, form input[type='submit'], form button[type='submit'], form a").addClass('waiting');
|
|
if (form.beenSubmitted)
|
|
return false;
|
|
else
|
|
form.beenSubmitted = true;
|
|
form.submit();
|
|
}
|
|
});
|
|
|
|
var mrform = $("#manual_restriction_form");
|
|
var mrlink = $("#add_manual_restriction");
|
|
mrform.hide();
|
|
mrlink.on("click",function(e){
|
|
$(this).hide();
|
|
mrform.show();
|
|
e.preventDefault();
|
|
});
|
|
$("#cancel_manual_restriction").on("click",function(e){
|
|
$('#debarred_expiration').val('');
|
|
$('#add_debarment').val(0);
|
|
$('#debarred_comment').val('');
|
|
mrlink.show();
|
|
mrform.hide();
|
|
e.preventDefault();
|
|
});
|
|
});
|
|
|
|
function clear_entry(node) {
|
|
var original = $(node).parent();
|
|
$("textarea", original).attr('value', '');
|
|
$("select", original).attr('value', '');
|
|
}
|
|
|
|
function clone_entry(node) {
|
|
var original = $(node).parent();
|
|
var clone = original.clone();
|
|
|
|
var newId = 50 + parseInt(Math.random() * 100000);
|
|
$("input,select,textarea", clone).attr('id', function() {
|
|
return this.id.replace(/patron_attr_\d+/, 'patron_attr_' + newId);
|
|
});
|
|
$("input,select,textarea", clone).attr('name', function() {
|
|
return this.name.replace(/patron_attr_\d+/, 'patron_attr_' + newId);
|
|
});
|
|
$("label", clone).attr('for', function() {
|
|
return $(this).attr("for").replace(/patron_attr_\d+/, 'patron_attr_' + newId);
|
|
});
|
|
$("input#patron_attr_" + newId, clone).attr('value','');
|
|
$("select#patron_attr_" + newId, clone).attr('value','');
|
|
$(original).after(clone);
|
|
return false;
|
|
}
|
|
|
|
function update_category_code(category_code) {
|
|
if ( $(category_code).is("select") ) {
|
|
category_code = $("#categorycode").find("option:selected").val();
|
|
}
|
|
var mytables = $(".attributes_table");
|
|
$(mytables).find("li").hide();
|
|
$(mytables).find(" li[data-category_code='"+category_code+"']").show();
|
|
$(mytables).find(" li[data-category_code='']").show();
|
|
}
|
|
|
|
var MSG_SEPARATOR = _("Separator must be / in field ");
|
|
var MSG_INCORRECT_DAY = _("Invalid day entered in field ");
|
|
var MSG_INCORRECT_MONTH = _("Invalid month entered in field ");
|
|
var MSG_INCORRECT_YEAR = _("Invalid year entered in field ");
|
|
var MSG_DUPLICATE_PATRON = _("Warning: Duplicate patron");
|
|
var MSG_DUPLICATE_ORGANIZATION = _("Warning: Duplicate organization");
|
|
var MSG_LATE_EXPIRY = _("Warning: Expiration date falls before enrollment date");
|
|
var MSG_DUPLICATE_SUSPICION = _("Please confirm whether this is a duplicate patron");
|
|
var MSG_PASSWORD_MISMATCH = _("The passwords entered do not match");
|
|
//]]>
|
|
</script>
|
|
<script type="text/javascript" src="[% themelang %]/js/members.js"></script>
|
|
</head>
|
|
<body id="pat_memberentrygen" class="pat">
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'patron-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> ›
|
|
[% IF ( opadd ) %]
|
|
Add[% IF ( categoryname ) %] [% categoryname %] patron[% ELSE %][% IF ( I ) %] Organization patron[% END %][% IF ( A ) %] Adult patron[% END %][% IF ( C ) %] Child patron[% END %][% IF ( P ) %] Professional patron[% END %][% IF ( S ) %] Staff patron[% END %][% END %]
|
|
[% surname %] [% firstname %]
|
|
[% ELSE %]
|
|
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% firstname %] [% surname %]</a> › <strong>[% IF ( opduplicate ) %]Duplicate[% ELSE %]Modify[% END %][% IF ( categoryname ) %] [% categoryname %] patron[% ELSE %][% IF ( I ) %] Organization patron[% END %][% IF ( A ) %] Adult patron[% END %][% IF ( C ) %] Child patron[% END %][% IF ( P ) %] Professional patron[% END %][% IF ( S ) %] Staff patron[% END %][% END %]
|
|
</strong>[% END %]</div>
|
|
[% IF ( opadd ) %]<div id="doc" class="yui-t7">[% ELSE %]<div id="doc3" class="yui-t2">[% END %]
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
[% IF error_alert %]
|
|
[% IF ( error_alert == "no_email" ) %]
|
|
<div class="error">This member has no email</div>
|
|
[% ELSE %]
|
|
<div class="error">[% error_alert %]</div>
|
|
[% END %]
|
|
[% END %]
|
|
[% IF info_alert %]
|
|
<div class="dialog message">Email has been sent.</div>
|
|
[% END %]
|
|
|
|
[% IF ( no_add ) %]<div class="dialog alert"><h3>Cannot add patron</h3>
|
|
[% IF ( no_branches ) %]<p>There are <strong>no libraries defined</strong>. [% IF ( CAN_user_parameters ) %]Please <a href="/cgi-bin/koha/admin/branches.pl">add a library</a>.[% ELSE %]An administrator must define at least one library.[% END %]</p>[% END %]
|
|
[% IF ( no_categories ) %]<p>There are <strong>no patron categories defined</strong>. [% IF ( CAN_user_parameters ) %]Please <a href="/cgi-bin/koha/admin/categorie.pl">add a patron category</a>.[% ELSE %]An administrator must define at least one patron category.</p>[% END %][% END %]</div>[% END %]
|
|
|
|
[% UNLESS ( no_add ) %]
|
|
[% IF ( opadd ) %]
|
|
<h1>
|
|
Add[% IF ( categoryname ) %] [% categoryname %] patron[% ELSE %][% IF ( I ) %] Organization patron[% END %][% IF ( A ) %] Adult patron[% END %][% IF ( C ) %] Child patron[% END %][% IF ( P ) %] Professional patron[% END %][% IF ( S ) %] Staff patron[% END %][% END %] [% firstname %] [% surname %]
|
|
</h1>
|
|
[% ELSE %]
|
|
<h1>
|
|
[% IF ( opduplicate ) %]Duplicate[% ELSE %]Modify[% END %][% IF ( categoryname ) %] [% categoryname %] patron[% ELSE %][% IF ( I ) %] Organization patron[% END %][% IF ( A ) %] Adult patron[% END %][% IF ( C ) %] Child patron[% END %][% IF ( P ) %] Professional patron[% END %][% IF ( S ) %] Staff patron[% END %][% END %]
|
|
[% firstname %] [% surname %]
|
|
</h1>
|
|
[% END %]
|
|
|
|
[% IF ( check_member ) %]
|
|
<div class="dialog alert">
|
|
<h3>Duplicate patron record?</h3>
|
|
<p><a class="popup" href="javascript:Dopop('moremember.pl?print=brief&borrowernumber=[% check_member %]');" >View existing record</a></p>
|
|
<form action="/cgi-bin/koha/members/memberentry.pl" method="get"><input type="hidden" name="op" value="modify" /><input type="hidden" name="borrowernumber" value="[% check_member %]" /><input type="hidden" name="category_type" value="[% check_categorytype %]" /><input class="edit" type="submit" value="It is a duplicate. Edit existing record" /></form>
|
|
|
|
<form name="form_double" action="/cgi-bin/koha/members/memberentry.pl" method="post" autocomplete="off">
|
|
<input type="hidden" name="nodouble" value="1" />
|
|
<input class="new" type="submit" value="Not a duplicate. Save as new record" />
|
|
</div>
|
|
[% END %]
|
|
|
|
[% IF ( nok ) %]
|
|
<div class="dialog alert">
|
|
<p>The following fields are wrong. Please fix them.</p>
|
|
<ul>
|
|
[% IF ( ERROR_login_exist ) %]
|
|
<li id="ERROR_login_exist">Username/password already exists.</li>
|
|
[% END %]
|
|
[% IF ( ERROR_cardnumber ) %]
|
|
<li id="ERROR_cardnumber">Cardnumber already in use.</li>
|
|
[% END %]
|
|
[% IF ( ERROR_age_limitations ) %]
|
|
<li id="ERROR_age_limitations">Patron's age is incorrect for their category.
|
|
Ages allowed are [% age_low %]-[% age_high %].</li>
|
|
[% END %]
|
|
[% IF ( ERROR_branch ) %]
|
|
<li id="ERROR_branch">Library is invalid.</li>
|
|
[% END %]
|
|
[% IF ( ERROR_dateofbirth ) %]
|
|
<li id="ERROR_dateofbirth">Date of birth is invalid.</li>
|
|
[% END %]
|
|
[% IF ( ERROR_dateenrolled ) %]
|
|
<li id="ERROR_dateenrolled">Date of enrollment is invalid.</li>
|
|
[% END %]
|
|
[% IF ( ERROR_dateexpiry ) %]
|
|
<li id="ERROR_dateexpiry">Date of expiration is invalid.</li>
|
|
[% END %]
|
|
[% IF ( ERROR_short_password ) %]
|
|
<li id="ERROR_short_password">Password must be at least [% minPasswordLength %] characters long.</li>
|
|
[% END %]
|
|
[% IF ( ERROR_password_mismatch ) %]
|
|
<li id="ERROR_password_mismatch">Passwords do not match.</li>
|
|
[% END %]
|
|
[% IF ( ERROR_extended_unique_id_failed ) %]
|
|
<li id="ERROR_extended_unique_id_failed">The attribute value
|
|
[% ERROR_extended_unique_id_failed_value %] is already in use by another patron record.</li>
|
|
[% END %]
|
|
</ul>
|
|
</div>
|
|
[% END %]
|
|
|
|
|
|
[% UNLESS ( check_member ) %]<form name="form" id="entryform" action="/cgi-bin/koha/members/memberentry.pl" method="post" autocomplete="off">
|
|
<input type="hidden" name="nodouble" value="[% nodouble %]" /> [% END %]
|
|
<!-- field always hidden in different form (1,2,3) -->
|
|
<input type="hidden" name="BorrowerMandatoryField" value="[% BorrowerMandatoryField %]" />
|
|
<input type="hidden" name="category_type" value="[% category_type %]" />
|
|
<input type="hidden" name="updtype" value="[% updtype %]" />
|
|
<input type="hidden" name="destination" value="[% destination %]" />
|
|
<input type="hidden" name="check_member" value="[% check_member %]" />
|
|
<input type="hidden" name="borrowernumber" value="[% IF ( opduplicate ) %][% ELSE %][% borrowernumber %][% END %]" />
|
|
<input type="hidden" name="nodouble" value="[% IF ( opduplicate ) %][% ELSE %][% nodouble %][% END %]" />
|
|
[% IF ( step ) %]<input type="hidden" name="step" value="[% step %]" />[% END %]
|
|
[% IF ( opadd ) %]<input type="hidden" name="op" value="insert" />
|
|
[% ELSIF ( opduplicate ) %]
|
|
<input type="hidden" name="op" value="insert" />
|
|
[% ELSE %]
|
|
<input type="hidden" name="op" value="save" />
|
|
[% IF step == 4 || step == 5 || step == 6 || step == 2 || step == 1 %]
|
|
[%# Only put the cardnumber if we arent showing it in the form later %]
|
|
[% IF cardnumber %]
|
|
<input type="hidden" name="cardnumber" value="[% cardnumber %]" />
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF ( step_1 ) %]
|
|
[%UNLESS notitle && nosurname && nofirstname && nodateofbirth && noinitials && noothernames &&nosex %]
|
|
<fieldset class="rows" id="memberentry_identity">
|
|
<legend id="identity_lgd">[% IF ( I ) %]Organization [% ELSE %]Patron [% END %]identity</legend>
|
|
<ol>
|
|
[% UNLESS ( I ) %]
|
|
[% UNLESS notitle %]
|
|
[% IF ( title_cgipopup ) %]
|
|
<li>
|
|
[% IF ( mandatorytitle ) %]
|
|
<label for="btitle" class="required">
|
|
[% ELSE %]
|
|
<label for="btitle">
|
|
[% END %]
|
|
Salutation: </label>
|
|
[% borrotitlepopup %]
|
|
[% IF ( mandatorytitle ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
[% UNLESS nosurname %]
|
|
<li>
|
|
[% IF ( mandatorysurname ) %]
|
|
<label for="surname" class="required">
|
|
[% ELSE %]
|
|
<label for="surname">
|
|
[% END %]
|
|
Surname: </label>
|
|
[% IF ( uppercasesurnames ) %]
|
|
<input style="text-transform:uppercase;" type="text" id="surname" name="surname" size="20" value="[% surname %]" class="[% focusAction %]" />
|
|
[% ELSE %]
|
|
<input type="text" id="surname" name="surname" size="20" value="[% surname %]" class="[% focusAction %]" />
|
|
[% END %]
|
|
[% IF ( mandatorysurname ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS ( I ) %]
|
|
[% UNLESS nofirstname %]
|
|
<li>
|
|
[% IF ( mandatoryfirstname ) %]
|
|
<label for="firstname" class="required">
|
|
[% ELSE %]
|
|
<label for="firstname">
|
|
[% END %]
|
|
First name: </label>
|
|
<input type="text" id="firstname" name="firstname" size="20" value="[% IF ( opduplicate ) %][% ELSE %][% firstname %][% END %]" />
|
|
[% IF ( mandatoryfirstname ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nodateofbirth %]
|
|
<li>
|
|
[% IF ( mandatorydateofbirth ) %]
|
|
<label for="dateofbirth" class="required">
|
|
[% ELSE %]
|
|
<label for="dateofbirth">
|
|
[% END %]
|
|
Date of birth: </label>
|
|
|
|
[% IF ( dateformat == "metric" ) %]
|
|
<input type="text" id="dateofbirth" name="dateofbirth" size="20" onchange="CheckDate(document.form.dateofbirth);" value="[% IF ( opduplicate ) %][% ELSE %][% dateofbirth %][% END %]" />
|
|
[% ELSE %]
|
|
<input type="text" id="dateofbirth" name="dateofbirth" size="20" value="[% IF ( opduplicate ) %][% ELSE %][% dateofbirth %][% END %]" />
|
|
[% END %]
|
|
|
|
[% IF ( mandatorydateofbirth ) %]<span class="required">Required</span>[% END %]
|
|
[% IF ( ERROR_dateofbirth ) %]<span class="required">(Error)</span>[% END %]
|
|
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noinitials %]
|
|
<li>
|
|
[% IF ( mandatoryinitials ) %]
|
|
<label for="initials" class="required">
|
|
[% ELSE %]
|
|
<label for="initials">
|
|
[% END %]
|
|
Initials: </label>
|
|
<input type="text" id="initials" name="initials" size="20" value="[% initials %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryinitials ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% END %]
|
|
[% UNLESS noothernames %]
|
|
<li>
|
|
[% IF ( mandatoryothernames ) %]
|
|
<label for="othernames" class="required">
|
|
[% ELSE %]
|
|
<label for="othernames">
|
|
[% END %]
|
|
Other name: </label>
|
|
<input type="text" id="othernames" name="othernames" size="20" value="[% othernames %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryothernames ) %]<span class="required">Required</span>[% END %]
|
|
[% IF ( I ) %]<input type="hidden" name="sex" value="N" />[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS ( I ) %]
|
|
[% UNLESS nosex %]
|
|
<li class="radio">
|
|
|
|
[% IF ( female ) %]
|
|
<label for="sex-female">Female </label><input type="radio" name="sex" id="sex-female" value="F" checked="checked" />
|
|
[% ELSE %]
|
|
<label for="sex-female">Female </label><input type="radio" name="sex" id="sex-female" value="F" />
|
|
[% END %]
|
|
[% IF ( male ) %]
|
|
<label for="sex-male">Male </label><input type="radio" name="sex" id="sex-male" value="M" checked="checked" />
|
|
[% ELSE %]
|
|
<label for="sex-male">Male </label><input type="radio" name="sex" id="sex-male" value="M" />
|
|
[% END %]
|
|
[% IF ( none ) %]
|
|
<label for="sex-none">N/A </label><input type="radio" name="sex" id="sex-none" value="" checked="checked" />
|
|
[% ELSE %]
|
|
<label for="sex-none">N/A </label><input type="radio" name="sex" id="sex-none" value="" />
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
[% END # hide fieldset %]
|
|
|
|
[% IF ( showguarantor ) %]<input type="hidden" id="guarantorid" name="guarantorid" value="[% guarantorid %]" />
|
|
<fieldset class="rows">
|
|
<legend>Guarantor information</legend>
|
|
<ol>
|
|
[% IF ( P ) %]
|
|
[% IF ( guarantorid ) %]
|
|
<li id="contact-details">
|
|
[% ELSE %]
|
|
<li id="contact-details" style="display: none">
|
|
[% END %]
|
|
<span class="label">Organization #:</span> [% IF ( guarantorid ) %] <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% guarantorid %]" target="blank">[% guarantorid %]</a>[% END %]
|
|
</li>
|
|
<li>
|
|
<label for="contactname">Organization name: </label>
|
|
[% IF ( guarantorid ) %]
|
|
<span>[% contactname %]</span>
|
|
<input name="contactname" id="contactname" type="hidden" size="20" value="[% contactname %]" />
|
|
[% ELSE %]
|
|
<input name="contactname" id="contactname" type="text" size="20" value="[% contactname %]" class="[% focusAction %]" />
|
|
[% END %]
|
|
</li>
|
|
[% ELSE %]
|
|
[% IF ( C ) %]
|
|
[% IF ( guarantorid ) %]
|
|
<li id="contact-details">
|
|
[% ELSE %]
|
|
<li id="contact-details" style="display: none">
|
|
[% END %]
|
|
<span class="label">Patron #:</span> [% IF ( guarantorid ) %] <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% guarantorid %]" target="blank">[% guarantorid %]</a>[% END %]
|
|
</li>
|
|
[% UNLESS nocontactname %]
|
|
<li>
|
|
<label for="contactname">Surname: </label>
|
|
[% IF ( guarantorid ) %]
|
|
<span>[% contactname %]</span>
|
|
<input name="contactname" id="contactname" type="hidden" size="20" value="[% contactname %]" />
|
|
[% ELSE %]
|
|
<input name="contactname" id="contactname" type="text" size="20" value="[% contactname %]" class="[% focusAction %]" />
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nocontactfirstname %]
|
|
<li>
|
|
<label for="contactfirstname">First name: </label>
|
|
[% IF ( guarantorid ) %]
|
|
<span>[% contactfirstname %]</span>
|
|
<input name="contactfirstname" id="contactfirstname" type="hidden" size="20" value="[% contactfirstname %]" />
|
|
[% ELSE %]
|
|
<input name="contactfirstname" id="contactfirstname" type="text" size="20" value="[% contactfirstname %]" class="[% focusAction %]" />
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% IF ( relshiploop ) %]
|
|
<li>
|
|
<label for="relationship">Relationship: </label>
|
|
<select name="relationship" id="relationship" >
|
|
[% FOREACH relshiploo IN relshiploop %]
|
|
[% IF ( relshiploo.selected ) %]
|
|
<option value="[% relshiploo.relationship %]" selected="selected" >[% relshiploo.relationship %]</option>
|
|
[% ELSE %]
|
|
<option value="[% relshiploo.relationship %]">[% relshiploo.relationship %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
</li>
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
<li>
|
|
<span class="label"> </span>
|
|
[% IF ( guarantorid ) %]
|
|
<input id="guarantorsearch" type="button" value="Change" onclick="Dopopguarantor('guarantor_search.pl?category_type=[% category_type %]');" />
|
|
[% ELSE %]
|
|
<input id="guarantorsearch" type="button" value="Set to patron" onclick="Dopopguarantor('guarantor_search.pl?category_type=[% category_type %]');" />
|
|
[% END %]
|
|
<input id="guarantordelete" type="button" value="Delete" />
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
|
|
[% END %]
|
|
[% UNLESS noaddress && noaddress2 && nocity && nostate && nozipcode && nocountry %]
|
|
<fieldset class="rows" id="memberentry_mainaddress">
|
|
<legend id="main_address_lgd">Main address</legend><ol>
|
|
[% UNLESS nostreetnumber %]
|
|
<li>
|
|
[% IF ( mandatorystreetnumber ) %]
|
|
<label for="streetnumber" class="required">
|
|
[% ELSE %]
|
|
<label for="streetnumber">
|
|
[% END %]
|
|
Street number: </label>
|
|
<input type="text" id="streetnumber" name="streetnumber" size="5" value="[% streetnumber %]" class="[% focusAction %]" />
|
|
[% IF ( mandatorystreetnumber ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nostreettype %]
|
|
[% IF roadtypes %]
|
|
<li>
|
|
[% IF ( mandatorystreettype ) %]
|
|
<label for="streettype" class="required">
|
|
[% ELSE %]
|
|
<label for="streettype">
|
|
[% END %]
|
|
Street type: </label>
|
|
<select name="streettype">
|
|
<option value=""></option>
|
|
[% FOR roadtype IN roadtypes %]
|
|
[% IF roadtype.selected %]
|
|
<option value="[% roadtype.authorised_value %]" selected="selected">[% roadtype.lib %]</option>
|
|
[% ELSE %]
|
|
<option value="[% roadtype.authorised_value %]">[% roadtype.lib %]</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
[% IF ( mandatorystreettype ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% END %]
|
|
[% UNLESS noaddress %]
|
|
<li>
|
|
[% IF ( mandatoryaddress ) %]
|
|
<label for="address" class="required">
|
|
[% ELSE %]
|
|
<label for="address">
|
|
[% END %]
|
|
Address: </label>
|
|
<input type="text" id="address" name="address" size="35" value="[% address %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaddress ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaddress2 %]
|
|
<li>
|
|
[% IF ( mandatoryaddress2 ) %]
|
|
<label for="address2" class="required">
|
|
[% ELSE %]
|
|
<label for="address2">
|
|
[% END %]
|
|
Address 2: </label>
|
|
<input type="text" id="address2" name="address2" size="35" value="[% address2 %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaddress2 ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nocity %]
|
|
<li>
|
|
[% IF ( mandatorycity ) %]
|
|
<label for="city" class="required">
|
|
[% ELSE %]
|
|
<label for="city">
|
|
[% END %]
|
|
City: </label>
|
|
<input type="text" id="city" name="city" size="20" value="[% city %]" class="[% focusAction %]" />
|
|
[% IF ( city_cgipopup ) %]or <strong>choose</strong>
|
|
<select id="select_city" name="select_city">
|
|
[% FOREACH city_loo IN city_loop %]
|
|
[% IF ( city_loo.selected ) %]
|
|
<option value="[% city_loo.city_zipcode %]|[% city_loo.city_name %]|[% city_loo.city_state %]|[% city_loo.city_country %]" selected="selected">
|
|
[% ELSE %]
|
|
<option value="[% city_loo.city_zipcode %]|[% city_loo.city_name %]|[% city_loo.city_state %]|[% city_loo.city_country %]">
|
|
[% END %]
|
|
[% city_loo.city_name %] [% city_loo.city_state %] [% city_loo.city_zipcode %]
|
|
</option>
|
|
[% END %]
|
|
</select>
|
|
[% END %]
|
|
[% IF ( mandatorycity ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nostate %]
|
|
<li>
|
|
[% IF ( mandatorystate ) %]
|
|
<label for="state" class="required">
|
|
[% ELSE %]
|
|
<label for="state">
|
|
[% END %]
|
|
State: </label>
|
|
<input type="text" name="state" id="state" size="20" value="[% state %]" class="[% focusAction %]" />
|
|
[% IF ( mandatorystate ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nozipcode %]
|
|
<li>
|
|
[% IF ( mandatoryzipcode ) %]
|
|
<label for="zipcode" class="required">
|
|
[% ELSE %]
|
|
<label for="zipcode">
|
|
[% END %]
|
|
Zip/Postal code: </label>
|
|
<input type="text" name="zipcode" id="zipcode" size="10" value="[% zipcode %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryzipcode ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nocountry %]
|
|
<li>
|
|
[% IF ( mandatorycountry ) %]
|
|
<label for="country" class="required">
|
|
[% ELSE %]
|
|
<label for="country">
|
|
[% END %]
|
|
Country: </label>
|
|
<input type="text" name="country" id="country" size="20" value="[% country %]" class="[% focusAction %]" />
|
|
[% IF ( mandatorycountry ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
[% END # nostreet && nocity etc group%]
|
|
|
|
[% UNLESS nophone && nophonepro && nomobile && noemail && noemailpro && nofax %]
|
|
<fieldset class="rows" id="memberentry_contact">
|
|
<legend id="contact_lgd">Contact</legend><ol>
|
|
[% UNLESS nophone %]
|
|
<li>
|
|
[% IF ( mandatoryphone ) %]
|
|
<label for="phone" class="required">
|
|
[% ELSE %]
|
|
<label for="phone">
|
|
[% END %]
|
|
Primary phone: </label>
|
|
<input type="text" id="phone" name="phone" value="[% phone %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryphone ) %]<span class="required">Required</span>[% END %]<div class="hint">Shows on transit slips</div>
|
|
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nophonepro %]
|
|
<li>
|
|
[% IF ( mandatoryphonepro ) %]
|
|
<label for="phonepro" class="required">
|
|
[% ELSE %]
|
|
<label for="phonepro">
|
|
[% END %]
|
|
Secondary phone: </label>
|
|
<input type="text" id="phonepro" name="phonepro" value="[% phonepro %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryphonepro ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nomobile %]
|
|
<li>
|
|
[% IF ( mandatorymobile ) %]
|
|
<label for="mobile" class="required">
|
|
[% ELSE %]
|
|
<label for="mobile">
|
|
[% END %]
|
|
Other phone: </label>
|
|
<input type="text" id="mobile" name="mobile" value="[% mobile %]" class="[% focusAction %]" />
|
|
[% IF ( mandatorymobile ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noemail %]
|
|
<li>
|
|
[% IF ( mandatoryemail ) %]
|
|
<label for="email" class="required">
|
|
[% ELSE %]
|
|
<label for="email">
|
|
[% END %]
|
|
Primary email: </label>
|
|
<input type="text" id="email" name="email" size="45" value="[% email %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryemail ) %]<span class="required">Required</span>[% END %]<div class="hint">Shows on transit slips</div>
|
|
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noemailpro %]
|
|
<li>
|
|
[% IF ( mandatoryemailpro ) %]
|
|
<label for="emailpro" class="required">
|
|
[% ELSE %]
|
|
<label for="emailpro">
|
|
[% END %]
|
|
Secondary email: </label>
|
|
<input type="text" id="emailpro" name="emailpro" size="45" value="[% emailpro %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryemailpro ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nofax %]
|
|
<li>
|
|
[% IF ( mandatoryfax ) %]
|
|
<label for="fax" class="required">
|
|
[% ELSE %]
|
|
<label for="fax">
|
|
[% END %]
|
|
Fax: </label>
|
|
<input type="text" id="fax" name="fax" value="[% fax %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryfax ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
[%END # hide fieldset %]
|
|
|
|
<!-- ************************ STEP_1 *********************** -->
|
|
[% END %]
|
|
[% IF ( step_6 ) %]
|
|
|
|
[% UNLESS noB_address && noB_address2 && noB_city && noB_zipcode && noB_state && noB_country &&nocontactnote && noB_phone && noB_email %]
|
|
<fieldset class="rows" id="memberentry_address">
|
|
<legend id="alt_address_lgd">Alternate address</legend><ol>
|
|
[% UNLESS noB_address %]
|
|
<li>
|
|
[% IF ( mandatoryB_address ) %]
|
|
<label for="B_address" class="required">
|
|
[% ELSE %]
|
|
<label for="B_address">
|
|
[% END %]
|
|
Address: </label>
|
|
<input type="text" id="B_address" name="B_address" size="40" value="[% B_address %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryB_address ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noB_address2 %]
|
|
<li>
|
|
[% IF ( mandatoryB_address2 ) %]
|
|
<label for="B_address2" class="required">
|
|
[% ELSE %]
|
|
<label for="B_address2">
|
|
[% END %]
|
|
Address 2: </label>
|
|
<input type="text" id="B_address2" name="B_address2" size="40" value="[% B_address2 %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryB_address2 ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noB_city %]
|
|
<li>
|
|
[% IF ( mandatoryB_city ) %]
|
|
<label for="B_city" class="required" >
|
|
[% ELSE %]
|
|
<label for="B_city">
|
|
[% END %]
|
|
City: </label>
|
|
<input type="text" id="B_city" name="B_city" size="20" value="[% B_city %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryB_city ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noB_state %]
|
|
<li>
|
|
[% IF ( mandatoryB_state ) %]
|
|
<label for="B_state" class="required" >
|
|
[% ELSE %]
|
|
<label for="B_state">
|
|
[% END %]
|
|
State: </label>
|
|
<input type="text" id="B_state" name="B_state" size="20" value="[% B_state %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryB_state ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noB_zipcode %]
|
|
<li>
|
|
[% IF ( mandatoryB_zipcode ) %]
|
|
<label for="B_zipcode" class="required">
|
|
[% ELSE %]
|
|
<label for="B_zipcode">
|
|
[% END %]
|
|
Zip/Postal code: </label>
|
|
<input type="text" id="B_zipcode" name="B_zipcode" maxlength="10" size="10" value="[% B_zipcode %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryB_zipcode ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noB_country %]
|
|
<li>
|
|
[% IF ( mandatoryB_country ) %]
|
|
<label for="B_country" class="required">
|
|
[% ELSE %]
|
|
<label for="B_country">
|
|
[% END %]
|
|
Country: </label>
|
|
<input type="text" id="B_country" name="B_country" size="20" value="[% B_country %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryB_country ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noB_phone %]
|
|
<li>
|
|
[% IF ( mandatoryB_phone ) %]
|
|
<label for="B_phone" class="required">
|
|
[% ELSE %]
|
|
<label for="B_phone">
|
|
[% END %]
|
|
Phone: </label>
|
|
<input type="text" id="B_phone" name="B_phone" value="[% B_phone %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryB_phone ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noB_email %]
|
|
<li>
|
|
[% IF ( mandatoryB_email ) %]
|
|
<label for="B_email" class="required">
|
|
[% ELSE %]
|
|
<label for="B_email">
|
|
[% END %]
|
|
Email: </label>
|
|
<input type="text" id="B_email" name="B_email" size="45" value="[% B_email %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryB_email ) %]<span class="required">Required</span>[% END %] </li>
|
|
[% END %]
|
|
[% UNLESS nocontactnote %]
|
|
<li>
|
|
[% IF ( mandatorycontactnote ) %]
|
|
<label for="contactnote" class="required">
|
|
[% ELSE %]
|
|
<label for="contactnote">
|
|
[% END %]
|
|
Contact note: </label>
|
|
<textarea id="contactnote" name="contactnote" cols="40" rows="2">[% contactnote %]</textarea>
|
|
[% IF ( mandatorycontactnote ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
[% END # UNLESS noB_address && noB_city && noB_state && noB_phone && noB_email %]
|
|
[% END %]
|
|
[% IF ( step_2 ) %]
|
|
[% UNLESS noaltcontactsurname && noaltcontactfirstname && noaltcontactaddress1 && noaltcontactaddress2 && noaltcontactaddress3 && noaltcontactstate && noaltcontactzipcode && noaltcontactcountry && noaltcontactphone %]
|
|
<fieldset class="rows" id="memberentry_altaddress">
|
|
<legend id="alt_contact_lgd">Alternate contact</legend><ol>
|
|
[% UNLESS noaltcontactsurname %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactsurname ) %]
|
|
<label for="altcontactsurname" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactsurname">
|
|
[% END %]
|
|
Surname:</label>
|
|
<input type="text" name="altcontactsurname" id="altcontactsurname" value="[% altcontactsurname %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactsurname ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaltcontactfirstname %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactfirstname ) %]
|
|
<label for="altcontactfirstname" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactfirstname">
|
|
[% END %]
|
|
First name:</label>
|
|
<input type="text" name="altcontactfirstname" id="altcontactfirstname" value="[% altcontactfirstname %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactfirstname ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaltcontactaddress1 %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactaddress1 ) %]
|
|
<label for="altcontactaddress1" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactaddress1">
|
|
[% END %]
|
|
Address:</label>
|
|
<input type="text" name="altcontactaddress1" id="altcontactaddress1" value="[% altcontactaddress1 %]" size="40" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactaddress1 ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaltcontactaddress2 %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactaddress2 ) %]
|
|
<label for="altcontactaddress2" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactaddress2">
|
|
[% END %]
|
|
Address 2:</label>
|
|
<input type="text" name="altcontactaddress2" id="altcontactaddress2" value="[% altcontactaddress2 %]" size="40" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactaddress2 ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaltcontactaddress3 %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactaddress3 ) %]
|
|
<label for="altcontactaddress3" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactaddress3">
|
|
[% END %]
|
|
City:</label>
|
|
<input type="text" name="altcontactaddress3" id="altcontactaddress3" value="[% altcontactaddress3 %]" size="20" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactaddress3 ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaltcontactstate %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactstate ) %]
|
|
<label for="altcontactstate" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactstate">
|
|
[% END %]
|
|
State:</label>
|
|
<input type="text" name="altcontactstate" id="altcontactstate" value="[% altcontactstate %]" size="20" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactstate ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaltcontactzipcode %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactzipcode ) %]
|
|
<label for="altcontactzipcode" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactzipcode">
|
|
[% END %]
|
|
Zip/Postal code:</label>
|
|
<input type="text" name="altcontactzipcode" id="altcontactzipcode" value="[% altcontactzipcode %]" size="5" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactzipcode ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaltcontactcountry %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactcountry ) %]
|
|
<label for="altcontactcountry" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactcountry">
|
|
[% END %]
|
|
Country:</label>
|
|
<input type="text" name="altcontactcountry" id="altcontactcountry" value="[% altcontactcountry %]" size="20" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactcountry ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noaltcontactphone %]
|
|
<li>
|
|
[% IF ( mandatoryaltcontactphone ) %]
|
|
<label for="altcontactphone" class="required">
|
|
[% ELSE %]
|
|
<label for="altcontactphone">
|
|
[% END %]
|
|
Phone:</label>
|
|
<input type="text" name="altcontactphone" id="altcontactphone" value="[% altcontactphone %]" class="[% focusAction %]" />
|
|
[% IF ( mandatoryaltcontactphone ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
[% END # UNLESS noaltcontactsurname && noaltcontactfirstname etc %]
|
|
|
|
[% END %]
|
|
[% IF ( step_3 ) %]
|
|
|
|
<fieldset class="rows" id="memberentry_library_management">
|
|
<legend id="library_management_lgd">Library management</legend><ol>
|
|
[% UNLESS nocardnumber %]
|
|
<li> [% IF ( mandatorycardnumber ) %]
|
|
<label for="cardnumber" class="required">
|
|
[% ELSE %]
|
|
<label for="cardnumber">
|
|
[% END %]
|
|
Card number: </label>
|
|
<input type="text" id="cardnumber" name="cardnumber" size="20" value="[% cardnumber %]" />
|
|
[% IF ( mandatorycardnumber ) %]<span class="required">Required</span>[% END %]</li>
|
|
[% END %]
|
|
[% UNLESS nobranchcode %]
|
|
<li>
|
|
<label for="libraries" class="required">Library:</label>
|
|
<select name="branchcode" size="1" id="libraries">
|
|
[%- FOREACH branchloo IN branchloop %]
|
|
[% IF ( branchloo.selected ) -%]
|
|
<option value="[% branchloo.branchcode %]" selected="selected">[% branchloo.branchname %]</option>
|
|
[%- ELSE -%]
|
|
<option value="[% branchloo.branchcode %]">[% branchloo.branchname %]</option>
|
|
[%- END -%]
|
|
[%- END %]
|
|
</select>
|
|
<span class="required">Required</span>
|
|
</li>
|
|
[% END %]
|
|
<li>
|
|
<label for="categorycode" class="required">Category: </label>
|
|
<select id="categorycode" name="categorycode" onchange="update_category_code(this);">
|
|
[% FOREACH typeloo IN typeloop %]
|
|
[% FOREACH categoryloo IN typeloo.categoryloop %]
|
|
[% IF ( loop.first ) %]
|
|
[% IF ( typeloo.typename_C ) %]<optgroup label="Child">[% END %]
|
|
[% IF ( typeloo.typename_A ) %]<optgroup label="Adult">[% END %]
|
|
[% IF ( typeloo.typename_S ) %]<optgroup label="Staff">[% END %]
|
|
[% IF ( typeloo.typename_I ) %]<optgroup label="Organization">[% END %]
|
|
[% IF ( typeloo.typename_P ) %]<optgroup label="Professional">[% END %]
|
|
[% IF ( typeloo.typename_X ) %]<optgroup label="Statistical">[% END %]
|
|
[% END %]
|
|
[% IF ( categoryloo.categorycodeselected ) %]
|
|
<option value="[% categoryloo.categorycode %]" selected="selected" data-typename="[% typeloo.typename %]">[% categoryloo.categoryname %]</option>
|
|
[% ELSE %]
|
|
<option value="[% categoryloo.categorycode %]" data-typename="[% typeloo.typename %]">[% categoryloo.categoryname %]</option>
|
|
[% END %]
|
|
[% IF ( loop.last ) %]
|
|
</optgroup>
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
<span class="required">Required</span>
|
|
</li>
|
|
[% UNLESS nosort1 %]
|
|
<li>
|
|
[% IF ( mandatorysort1 ) %]
|
|
<label for="sort1" class="required">
|
|
[% ELSE %]
|
|
<label for="sort1">
|
|
[% END %]
|
|
Sort 1: </label>
|
|
[% IF ( CGIsort1 ) %]
|
|
[% CGIsort1 %]
|
|
[% ELSE %]
|
|
<input type="text" id="sort1" name="sort1" size="20" value="[% sort1 %]" class="[% focusAction %]" />
|
|
[% IF ( mandatorysort1 ) %]<span class="required">Required</span>[% END %]
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nosort2 %]
|
|
<li>
|
|
[% IF ( mandatorysort2 ) %]
|
|
<label for="sort2" class="required">
|
|
[% ELSE %]
|
|
<label for="sort2">
|
|
[% END %]
|
|
Sort 2: </label>
|
|
[% IF ( CGIsort2 ) %]
|
|
[% CGIsort2 %]
|
|
[% ELSE %]
|
|
<input type="text" id="sort2" name="sort2" size="20" value="[% sort2 %]" class="[% focusAction %]" />
|
|
[% IF ( mandatorysort2 ) %]<span class="required">Required</span>[% END %]
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
[% UNLESS nodateenrolled && noopacnote && noborrowernotes %]
|
|
<fieldset class="rows" id="memberentry_subscription">
|
|
<legend id="library_setup_lgd">Library set-up</legend><ol>
|
|
[% UNLESS nodateenrolled %]
|
|
<li>
|
|
[% IF ( mandatorydateenrolled ) %]
|
|
<label for="from" class="required">
|
|
[% ELSE %]
|
|
<label for="from">
|
|
[% END %]
|
|
Registration date: </label>
|
|
[% IF ( dateformat == "metric" ) %]
|
|
<input type="text" id="from" name="dateenrolled" maxlength="10" size="10" onchange="CheckDate(document.form.dateenrolled);check_manip_date('verify');" value="[% dateenrolled %]" class="datepickerfrom" />
|
|
[% ELSE %]
|
|
<input type="text" id="from" name="dateenrolled" maxlength="10" size="10" value="[% dateenrolled %]" class="datepickerfrom" />
|
|
[% END %]
|
|
[% IF ( mandatorydateenrolled ) %]<span class="required">Required</span>[% END %]
|
|
[% IF ( ERROR_dateenrolled ) %]<span class="required">(Error)</span>[% END %]
|
|
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS nodateexpiry %]
|
|
<li>
|
|
[% ELSE %]
|
|
<li style="display:none">
|
|
[% END %]
|
|
[% IF ( mandatorydateexpiry ) %]
|
|
<label for="to" class="required">
|
|
[% ELSE %]
|
|
<label for="to">
|
|
[% END %]
|
|
Expiry date (leave blank for auto calc) </label>
|
|
[% IF ( dateformat == "metric" ) %]
|
|
[% UNLESS ( opadd ) %]
|
|
<input type="text" id="to" name="dateexpiry" maxlength="10" size="10" onchange="CheckDate(document.form.dateexpiry);check_manip_date('verify');" value="[% dateexpiry %]" class="datepickerto" />
|
|
[% ELSE %]
|
|
<input type="text" id="to" name="dateexpiry" maxlength="10" size="10" onchange="CheckDate(document.form.dateexpiry);check_manip_date('verify');" class="datepickerto" />
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% UNLESS ( opadd ) %]
|
|
<input type="text" id="to" name="dateexpiry" maxlength="10" size="10" value="[% dateexpiry %]" class="datepickerto" />
|
|
[% ELSE %]
|
|
<input type="text" id="to" name="dateexpiry" maxlength="10" size="10" class="datepickerto" />
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( mandatorydateexpiry ) %]<span class="required">Required</span>[% END %]
|
|
[% IF ( ERROR_dateexpiry ) %]<span class="required">(Error)</span>[% END %]
|
|
<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
|
|
</li>
|
|
[% UNLESS noopacnote %]
|
|
<li>
|
|
[% IF ( mandatoryopacnote ) %]
|
|
<label for="opacnote" class="required">
|
|
[% ELSE %]
|
|
<label for="opacnote">
|
|
[% END %]
|
|
OPAC note: </label>
|
|
<textarea id="opacnote" name="opacnote" cols="55" rows="5">[% opacnote %]</textarea>
|
|
<div class="hint">This message appears on this patron's user page in the OPAC</div>
|
|
[% IF ( mandatoryopacnote ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
[% UNLESS noborrowernotes %]
|
|
<li>
|
|
[% IF ( mandatoryborrowernotes ) %]
|
|
<label for="borrowernotes" class="required">
|
|
[% ELSE %]
|
|
<label for="borrowernotes">
|
|
[% END %]
|
|
Circulation note: </label>
|
|
<textarea id="borrowernotes" name="borrowernotes" cols="55" rows="5">[% borrowernotes %]</textarea>
|
|
<div class="hint">This message displays when checking out to this patron</div>
|
|
[% IF ( mandatoryborrowernotes ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
</fieldset>
|
|
[% END # hide fieldset %]
|
|
|
|
[% UNLESS nouserid && nopassword %]
|
|
<fieldset class="rows" id="memberentry_userid">
|
|
<legend id="opac_staff_login_lgd">OPAC/Staff login</legend><ol>
|
|
[% UNLESS nouserid %]
|
|
<li>
|
|
[% IF ( mandatoryuserid ) %]
|
|
<label for="userid" class="required">
|
|
[% ELSE %]
|
|
<label for="userid">
|
|
[% END %]
|
|
Username: </label>
|
|
|
|
[% IF ( NoUpdateLogin ) %]
|
|
[% IF ( opduplicate ) %]
|
|
<input type="text" id="userid" name="userid" size="20" disabled="disabled" />
|
|
[% ELSE %]
|
|
<input type="text" id="userid" name="userid" size="20" disabled="disabled" value="[% userid %]" />
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF ( opduplicate ) %]
|
|
<input type="text" id="userid" name="userid" size="20" value="" />
|
|
[% ELSE %]
|
|
<input type="text" id="userid" name="userid" size="20" value="[% userid %]" />
|
|
[% END %]
|
|
[% END %]
|
|
|
|
[% IF ( mandatoryuserid ) %]<span class="required">Required</span>[% END %]
|
|
</li>
|
|
[%END %]
|
|
[% UNLESS nopassword %]
|
|
<li>
|
|
[% IF ( mandatorypassword ) %]
|
|
<label for="password" class="required">
|
|
[% ELSE %]
|
|
<label for="password">
|
|
[% END %]
|
|
Password: </label>
|
|
[% IF ( opadd ) %]
|
|
[% IF ( NoUpdateLogin ) %]
|
|
[% IF ( opduplicate ) %]
|
|
<input type="password" id="password" name="password" size="20" disabled="disabled" />
|
|
[% ELSE %]
|
|
<input type="password" id="password" name="password" size="20" disabled="disabled" value="[% password %]" />
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF ( opduplicate ) %]
|
|
<input type="password" id="password" name="password" size="20" />
|
|
[% ELSE %]
|
|
<input type="password" id="password" name="password" size="20" value="[% password %]" />
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF ( password ) %]
|
|
[% IF ( NoUpdateLogin ) %]
|
|
<input type="password" id="password" name="password" size="20" disabled="disabled" value="****" />
|
|
[% ELSE %]
|
|
[% IF ( opduplicate ) %]
|
|
<input type="password" id="password" name="password" size="20" />
|
|
[% ELSE %]
|
|
<input type="password" id="password" name="password" size="20" value="****" />
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF ( NoUpdateLogin ) %]
|
|
<input type="password" id="password" name="password" size="20" disabled="disabled" value="" />
|
|
[% ELSE %]
|
|
<input type="password" id="password" name="password" size="20" value="" />
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( mandatorypassword ) %]<span class="required">Required</span>[% END %][% IF ( ERROR_short_password ) %]<span class="required">Password is too short</span>[% END %]
|
|
[% IF ( minPasswordLength ) %]<div class="hint">Minimum password length: [% minPasswordLength %]</div>[% END %]
|
|
</li>
|
|
<li>
|
|
[% IF ( mandatorypassword ) %]
|
|
<label for="password2" class="required">
|
|
[% ELSE %]
|
|
<label for="password2">
|
|
[% END %]
|
|
Confirm password: </label>
|
|
[% IF ( opadd ) %]
|
|
[% IF ( NoUpdateLogin ) %]
|
|
[% IF ( opduplicate ) %]
|
|
<input type="password" id="password2" name="password2" size="20" disabled="disabled" />
|
|
[% ELSE %]
|
|
<input type="password" id="password2" name="password2" size="20" disabled="disabled" value="[% password %]" />
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF ( opduplicate ) %]
|
|
<input type="password" id="password2" name="password2" size="20" />
|
|
[% ELSE %]
|
|
<input type="password" id="password2" name="password2" size="20" value="[% password %]" />
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF ( password ) %]
|
|
[% IF ( NoUpdateLogin ) %]
|
|
<input type="password" id="password2" name="password2" size="20" disabled="disabled" value="****" />
|
|
[% ELSE %]
|
|
[% IF ( opduplicate ) %]
|
|
<input type="password" id="password2" name="password2" size="20" />
|
|
[% ELSE %]
|
|
<input type="password" id="password2" name="password2" size="20" value="****" />
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF ( NoUpdateLogin ) %]
|
|
<input type="password" id="password2" name="password2" size="20" disabled="disabled" value="" />
|
|
[% ELSE %]
|
|
<input type="password" id="password2" name="password2" size="20" value="" />
|
|
[% END %]
|
|
[% END %]
|
|
[% END %]
|
|
[% IF ( mandatorypassword ) %]<span class="required">Required</span>[% END %][% IF ( ERROR_password_mismatch ) %]<span class="required">Passwords do not match</span>[% END %]
|
|
</li>
|
|
</ol>
|
|
</fieldset>
|
|
[% END # hide fieldset %][% END %]
|
|
<!--this zones are not necessary in modif mode -->
|
|
[% UNLESS ( opadd ) %]
|
|
<fieldset class="rows">
|
|
<legend>Patron account flags</legend>
|
|
<ol class="radio">
|
|
[% FOREACH flagloo IN flagloop %]
|
|
<li><label class="radio" for="yes[% flagloo.name %]">
|
|
[% IF ( flagloo.key == 'gonenoaddress' ) %]Gone no address:[% END %]
|
|
[% IF ( flagloo.key == 'lost' ) %]Lost card:[% END %]
|
|
</label>
|
|
[% IF CAN_user_circulate_manage_restrictions %]
|
|
<label for="yes[% flagloo.name %]">Yes </label>
|
|
[% IF ( flagloo.yes ) %]
|
|
<input type="radio" id="yes[% flagloo.name %]" name="[% flagloo.name %]" value="1" checked="checked" />
|
|
[% ELSE %]
|
|
<input type="radio" id="yes[% flagloo.name %]" name="[% flagloo.name %]" value="1" />
|
|
[% END %]
|
|
<label for="no[% flagloo.name %]">No </label>
|
|
[% IF ( flagloo.no ) %]
|
|
<input type="radio" id="no[% flagloo.name %]" name="[% flagloo.name %]" value="0" checked="checked"/>
|
|
[% ELSE %]
|
|
<input type="radio" id="no[% flagloo.name %]" name="[% flagloo.name %]" value="0" />
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% IF flagloo.yes %]Yes[% ELSE %]No[% END %]
|
|
[% END %]
|
|
|
|
</li>
|
|
[% END %]
|
|
|
|
</ol>
|
|
</fieldset>
|
|
|
|
<fieldset class="rows">
|
|
<legend>Patron restrictions</legend>
|
|
|
|
[% IF ( debarments.size < 1 ) %]
|
|
<p>Patron is currently unrestricted.</p>
|
|
[% ELSE %]
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Type</th>
|
|
<th>Comment</th>
|
|
<th>Expiration</th>
|
|
[% IF CAN_user_borrowers && CAN_user_circulate_manage_restrictions %]
|
|
<th>Remove?</th>
|
|
[% END %]
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
[% FOREACH d IN debarments %]
|
|
<tr>
|
|
<td>[% d.type %]</td>
|
|
<td>[% d.comment %]</td>
|
|
<td>[% IF d.expiration %] [% d.expiration | $KohaDates %] [% ELSE %] <i>Indefinite</i> [% END %]</td>
|
|
[% IF CAN_user_borrowers && CAN_user_circulate_manage_restrictions %]
|
|
<td>
|
|
<input type="checkbox" id="debarment_[% d.borrower_debarment_id %]" name="remove_debarment" value="[% d.borrower_debarment_id %]" />
|
|
</td>
|
|
[% END %]
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% END %]
|
|
[% IF CAN_user_borrowers && CAN_user_circulate_manage_restrictions %]
|
|
<p><a href="#" id="add_manual_restriction">Add manual restriction</a></p>
|
|
<fieldset id="manual_restriction_form">
|
|
<input type="hidden" id="add_debarment" name="add_debarment" value="0" />
|
|
<legend>Add manual restriction</legend>
|
|
<ol>
|
|
<li><label for="debarred_comment">Comment: </label><input type="text" id="debarred_comment" name="debarred_comment" onchange="$('#add_debarment').val(1);" /></li>
|
|
<li><label for="debarred_expiration">Expiration: </label><input name="debarred_expiration" id="debarred_expiration" size="10" readonly="readonly" value="" class="datepicker" onchange="$('#add_debarment').val(1);" />
|
|
<a href='javascript:void(0)' onclick="$('#debarred_expiration').val('');">Clear date</a></li>
|
|
|
|
</ol>
|
|
<p>
|
|
<a class="cancel" id="cancel_manual_restriction" href="#" onclick="">Cancel</a>
|
|
</p>
|
|
</fieldset>
|
|
[% END %]
|
|
</fieldset>
|
|
[% END %]
|
|
|
|
[% END %]
|
|
|
|
[% IF ( step_4 ) %][% IF ( ExtendedPatronAttributes ) %][% UNLESS ( no_patron_attribute_types ) %]
|
|
<fieldset class="rows" id="memberentry_patron_attributes">
|
|
<legend>Additional attributes and identifiers</legend>
|
|
<input type="hidden" name="setting_extended_patron_attributes" value="1" />
|
|
[% FOREACH pa_loo IN patron_attributes %]
|
|
[% IF pa_loo.class %]
|
|
<fieldset id="aai_[% pa_loo.class %]">
|
|
<legend>[% pa_loo.lib %]</legend>
|
|
[% END %]
|
|
<ol class="attributes_table">
|
|
[% FOREACH patron_attribute IN pa_loo.items %]
|
|
<li data-category_code="[% patron_attribute.category_code %]">
|
|
<label for="[% patron_attribute.form_id %]">[% patron_attribute.description %]: </label>
|
|
<input type="hidden" id="[% patron_attribute.form_id %]_code" name="[% patron_attribute.form_id %]_code" value="[% patron_attribute.code |html %]" />
|
|
[% IF ( patron_attribute.use_dropdown ) %]
|
|
<select id="[% patron_attribute.form_id %]" name="[% patron_attribute.form_id %]">
|
|
<option value=""></option>
|
|
[% FOREACH auth_val_loo IN patron_attribute.auth_val_loop %]
|
|
[% IF ( auth_val_loo.selected ) %]
|
|
<option value="[% auth_val_loo.authorised_value %]" selected="selected">
|
|
[% auth_val_loo.lib %]
|
|
</option>
|
|
[% ELSE %]
|
|
<option value="[% auth_val_loo.authorised_value %]" >
|
|
[% auth_val_loo.lib %]
|
|
</option>
|
|
[% END %]
|
|
[% END %]
|
|
</select>
|
|
[% ELSE %]
|
|
<textarea rows="2" cols="30" id="[% patron_attribute.form_id %]" name="[% patron_attribute.form_id %]">[% patron_attribute.value %]</textarea>
|
|
[% END %]
|
|
[% IF ( patron_attribute.password_allowed ) %]
|
|
(<label class="yesno" for="[% patron_attribute.form_id %]_password">Password:</label> <input type="password" maxlength="64" value="[% patron_attribute.password %]"
|
|
id="[% patron_attribute.form_id %]_password" name="[% patron_attribute.form_id %]_password" />)
|
|
[% END %]
|
|
<a href="#" class="clear-field" onclick="clear_entry(this); return false;">Clear</a>
|
|
[% IF ( patron_attribute.repeatable ) %]
|
|
<a href="#" class="clone-field" onclick="clone_entry(this); return false;">New</a>
|
|
[% END %]
|
|
</li>
|
|
[% END %]
|
|
</ol>
|
|
[% IF pa_loo.class %]</fieldset>[% END %]
|
|
[% END %]
|
|
</fieldset>
|
|
[% END %][% END %][% END %]
|
|
|
|
[% IF ( step_5 ) %][% IF ( EnhancedMessagingPreferences ) %]
|
|
<fieldset class="rows" id="memberentry_messaging_prefs">
|
|
<legend id="patron_messaging_prefs_lgd">Patron messaging preferences</legend>
|
|
[% IF ( opadd ) %]
|
|
<!-- handle changing prefs if creating new patron and changing
|
|
the patron category
|
|
-->
|
|
<script type="text/javascript">//<![CDATA[
|
|
$(document).ready(function(){
|
|
var message_prefs_dirty = false;
|
|
$('#memberentry_messaging_prefs > *').change(function() {
|
|
message_prefs_dirty = true;
|
|
});
|
|
$('#categorycode').change(function() {
|
|
var categorycode = $(this).val();
|
|
if (message_prefs_dirty) {
|
|
if (!confirm('Change messaging preferences to default for this category?')) {
|
|
return;
|
|
}
|
|
}
|
|
$.getJSON('/cgi-bin/koha/members/default_messageprefs.pl?categorycode=' + categorycode,
|
|
function(data) {
|
|
$.each(data.messaging_preferences, function(i, item) {
|
|
var attrid = item.message_attribute_id;
|
|
var transports = ['email', 'rss', 'sms'];
|
|
$.each(transports, function(j, transport) {
|
|
if (item['transports_' + transport] == 1) {
|
|
$('#' + transport + attrid).attr('checked', 'checked');
|
|
} else {
|
|
$('#' + transport + attrid).removeAttr('checked');
|
|
}
|
|
});
|
|
if (item.digest && item.digest != ' ') {
|
|
$('#digest' + attrid).attr('checked', item.digest);
|
|
} else {
|
|
$('#digest' + attrid).removeAttr('checked');
|
|
}
|
|
if (item.takes_days == '1') {
|
|
$('[name=' + attrid + '-DAYS]').val('' + item.days_in_advance);
|
|
}
|
|
});
|
|
message_prefs_dirty = false;
|
|
}
|
|
);
|
|
});
|
|
});
|
|
//]]>
|
|
</script>
|
|
[% END %]
|
|
<input type="hidden" name="setting_messaging_prefs" value="1" />
|
|
[% IF type_only %]
|
|
<p>If no preferences are selected, the default preferences for the category chosen will be applied on save, otherwise your selection here is saved</p>
|
|
[% END %]
|
|
[% INCLUDE 'messaging-preference-form.inc' %]
|
|
[% IF ( SMSSendDriver ) %]
|
|
<p><label for="SMSnumber">SMS number:</label>
|
|
<input type="text" id="SMSnumber" name="SMSnumber" value="[% SMSnumber %]" class="[% focusAction %]" />
|
|
</p>
|
|
[% END %]
|
|
</fieldset>
|
|
[% END %] [% END %]
|
|
|
|
[% UNLESS ( check_member ) %]
|
|
<fieldset class="action">
|
|
<input type="submit" name="save" onclick="return check_form_borrowers();" value="Save" />
|
|
[% IF ( opadd ) %]
|
|
<a class="cancel" href="/cgi-bin/koha/members/member.pl">Cancel</a>
|
|
[% ELSE %]
|
|
<a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a>
|
|
[% END %]
|
|
</fieldset>
|
|
[% END %]
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
[% UNLESS ( opadd ) %]<div class="yui-b">
|
|
[% INCLUDE 'members-menu.inc' %]
|
|
</div>[% END %]
|
|
[% END %]
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|
|
|