Koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
Owen Leonard 9f172a3c1b Bug 15691: Show card number minimum and maximum in visible hint when adding a patron
The CardnumberLength system preference defines card number minimum and
maximum allowed values when adding a patron. This information is
currently hidden in a title attribute on the card number input field.

This patch moves the information into a <div class="hint">, matching
other fields in the entry form which offer details about entry
guidelines.

To test, apply the patch and open the new patron entry form. Test for
various values of CardnumberLength, and with 'cardnumber' mandatory or
not mandatory as defined in BorrowerMandatoryField.

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
2016-02-23 22:46:10 +00:00

1163 lines
52 KiB
Text

[% USE Koha %]
[% USE KohaDates %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Patrons &rsaquo; [% IF ( opadd ) %]Add[% ELSIF ( opduplicate ) %]Duplicate[% ELSE %] Modify[% END %] patron [% IF (firstname) %][% firstname %] [% END %][% IF (surname) %][% surname %] [% END %]([%IF ( categoryname ) %][% categoryname %][% ELSE %][% IF ( I ) %]Organization[% END %][% IF ( A ) %]Adult[% END %][% IF ( C ) %]Child[% END %][% IF ( P ) %]Professional[% END %][% IF ( S ) %]Staff[% END %][% END %])</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'calendar.inc' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$("fieldset.rows input, fieldset.rows select").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;
});
[% IF categorycode %]
update_category_code( "[% categorycode %]" );
[% ELSE %]
if ( $("#categorycode_entry").length > 0 ){
var category_code = $("#categorycode_entry").find("option:selected").val();
update_category_code( category_code );
}
[% END %]
$("#dateofbirth").datepicker({ maxDate: "-1D", yearRange: "c-120:" });
$("#entryform").validate({
rules: {
email: {
email: true
},
emailpro: {
email: true
},
B_email: {
email: true
}
},
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_entry").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();
}
function select_user(borrowernumber, borrower) {
var form = $('#entryform').get(0);
if (form.guarantorid.value) {
$("#contact-details").find('a').remove();
$("#contactname, #contactfirstname").parent().find('span').remove();
}
var id = borrower.borrowernumber;
form.guarantorid.value = id;
$('#contact-details')
.show()
.find('span')
.after('<a target="blank" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=' + id + '">' + id + '</a>');
$(form.contactname)
.val(borrower.surname)
.before('<span>' + borrower.surname + '</span>').get(0).type = 'hidden';
$(form.contactfirstname)
.val(borrower.firstname)
.before('<span>' + borrower.firstname + '</span>').get(0).type = 'hidden';
form.streetnumber.value = borrower.streetnumber;
form.address.value = borrower.address;
form.address2.value = borrower.address2;
form.city.value = borrower.city;
form.state.value = borrower.state;
form.zipcode.value = borrower.zipcode;
form.country.value = borrower.country;
form.branchcode.value = borrower.branchcode;
form.guarantorsearch.value = _("Change");
return 0;
}
var MSG_SEPARATOR = _("Separator must be / in field %s");
var MSG_INCORRECT_DAY = _("Invalid day entered in field %s");
var MSG_INCORRECT_MONTH = _("Invalid month entered in field %s");
var MSG_INCORRECT_YEAR = _("Invalid year entered in field %s");
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");
var MSG_PASSWORD_CONTAINS_TRAILING_SPACES = _("Password contains leading and/or trailing spaces.");
//]]>
</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> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo;
[% IF (firstname || surname ) %] <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">[% IF (firstname) %][% firstname %] [% END %][% IF (surname) %][% surname %] [% END %]</a> &rsaquo;[% END %]
<strong>[% IF ( opadd ) %]Add[% ELSIF ( opduplicate ) %]Duplicate[% ELSE %] Modify[% END %] patron ([%IF ( categoryname ) %][% categoryname %][% ELSE %][% IF ( I ) %]Organization[% END %][% IF ( A ) %]Adult[% END %][% IF ( C ) %]Child[% END %][% IF ( P ) %]Professional[% END %][% IF ( S ) %]Staff[% END %][% END %])</strong>
</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><strong>There are no libraries defined.</strong> [% IF ( CAN_user_parameters ) %]<a href="/cgi-bin/koha/admin/branches.pl">Please add a library.</a>[% ELSE %]An administrator must define at least one library.[% END %]</p>[% END %]
[% IF ( no_categories ) %]<p><strong>There are no patron categories defined.</strong> [% IF ( CAN_user_parameters ) %]<a href="/cgi-bin/koha/admin/categories.pl">Please add a patron category.</a>[% ELSE %]An administrator must define at least one patron category.</p>[% END %][% END %]</div>[% END %]
[% UNLESS ( no_add ) %]
<h1>[% IF ( opadd ) %]Add[% ELSIF ( opduplicate ) %]Duplicate[% ELSE %] Modify[% END %] patron [% IF (firstname) %][% firstname %] [% END %][% IF (surname) %][% surname %] [% END %]([%IF ( categoryname ) %][% categoryname %][% ELSE %][% IF ( I ) %]Organization[% END %][% IF ( A ) %]Adult[% END %][% IF ( C ) %]Child[% END %][% IF ( P ) %]Professional[% END %][% IF ( S ) %]Staff[% END %][% END %])</h1>
[% IF ( check_member ) %]
<div class="dialog alert">
<h3>Duplicate patron record?</h3>
<p><a class="popup" href="javascript:Dopop('moremember.pl?print=brief&amp;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 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_already_exists %]
<li id="ERROR_cardnumber">Cardnumber already in use.</li>
[% END %]
[% IF ERROR_cardnumber_length %]
<li id="ERROR_cardnumber">Cardnumber length is incorrect.</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"><strong>[% ERROR_extended_unique_id_failed_description %]</strong> attribute value <i>[% ERROR_extended_unique_id_failed_value %]</i> is already in use by another patron record.</li>
[% END %]
[% IF ERROR_bad_email %]
<li id="ERROR_bad_email">The primary email is invalid.</li>
[% END %]
[% IF ERROR_bad_email_secondary %]
<li id="ERROR_bad_email_secondary">The secondary email is invalid.</li>
[% END %]
[% IF ERROR_bad_email_alternative %]
<li id="ERROR_bad_email_alternative">The alternative email is invalid.</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="[% UNLESS opduplicate %][% borrowernumber %][% END %]" />
<input type="hidden" name="nodouble" value="[% UNLESS opduplicate %][% 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 %]" />
[% ELSE %]
<input type="text" id="surname" name="surname" size="20" value="[% surname %]" />
[% 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="[% UNLESS opduplicate %][% 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="[% UNLESS opduplicate %][% dateofbirth %][% END %]" />
[% ELSE %]
<input type="text" id="dateofbirth" name="dateofbirth" size="20" value="[% UNLESS opduplicate %][% 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="[% UNLESS opduplicate %][% initials %][% END %]" />
[% 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="[% UNLESS opduplicate %][% othernames %][% END %]" />
[% 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">
[% UNLESS ( opduplicate ) %]
[% 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">None specified </label><input type="radio" name="sex" id="sex-none" value="" checked="checked" />
[% ELSE %]
<label for="sex-none">None specified </label><input type="radio" name="sex" id="sex-none" value="" />
[% END %]
[% ELSE %]
<label for="sex-female">Female </label><input type="radio" name="sex" id="sex-female" value="F" />
<label for="sex-male">Male </label><input type="radio" name="sex" id="sex-male" value="M" />
<label for="sex-none">None specified </label><input type="radio" name="sex" id="sex-none" value="" checked="checked" />
[% 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 %]" />
[% 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 %]" />
[% 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 %]" />
[% 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">&nbsp;</span>
[% IF ( guarantorid ) %]
<input id="guarantorsearch" type="button" value="Change" onclick="Dopopguarantor('guarantor_search.pl');" />
[% ELSE %]
<input id="guarantorsearch" type="button" value="Set to patron" onclick="Dopopguarantor('guarantor_search.pl');" />
[% END %]
<input id="guarantordelete" type="button" value="Delete" />
</li>
[% IF guarantorid && Koha.Preference('AllowStaffToSetCheckoutsVisibilityForGuarantor') %]
<li>
<label for="privacy_guarantor_checkouts">Show checkouts to guarantor</label>
<select name="privacy_guarantor_checkouts" id="privacy_guarantor_checkouts">
[% IF privacy_guarantor_checkouts %]
<option value="0">No</option>
<option value="1" selected>Yes</option>
[% ELSE %]
<option value="0" selected>No</option>
<option value="1">Yes</option>
[% END %]
</select>
<div class="hint">Allow guarantor of this patron to view this patron's checkouts from the OPAC</div>
</li>
[% END %]
</ol>
</fieldset>
[% END %]
[% UNLESS noaddress && noaddress2 && nocity && nostate && nozipcode && nocountry %]
[% IF Koha.Preference( 'AddressFormat' ) %]
[% INCLUDE "member-main-address-style-${ Koha.Preference( 'AddressFormat' ) }.inc" %]
[% ELSE %]
[% INCLUDE 'member-main-address-style-us.inc' %]
[% END %]
[% 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 %]" />
[% 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 %]" />
[% 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 %]" />
[% 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 %]" />
[% 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 %]" />
[% 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 %]" />
[% 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 %]
[% IF Koha.Preference( 'AddressFormat' ) %]
[% INCLUDE "member-alt-address-style-${ Koha.Preference( 'AddressFormat' ) }.inc" %]
[% ELSE %]
[% INCLUDE 'member-alt-address-style-us.inc' %]
[% END %]
[% 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 %]
[% IF Koha.Preference( 'AddressFormat' ) %]
[% INCLUDE "member-alt-contact-style-${ Koha.Preference( 'AddressFormat' ) }.inc" %]
[% ELSE %]
[% INCLUDE 'member-alt-contact-style-us.inc' %]
[% END %]
[% 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" class="validated">
[% END %]
Card number: </label>
[% IF minlength_cardnumber == maxlength_cardnumber %]
<input type="text" id="cardnumber" name="cardnumber" size="20" value="[% cardnumber %]" minlength="[% minlength_cardnumber %]" maxlength="[% maxlength_cardnumber %]" />
[% IF ( mandatorycardnumber ) %]<span class="required">Required</span>[% END %]
<div class="hint">Card number must be exactly [% minlength_cardnumber %] characters.</div>
[% ELSIF minlength_cardnumber && maxlength_cardnumber %]
<input type="text" id="cardnumber" name="cardnumber" size="20" value="[% cardnumber %]" minlength="[% minlength_cardnumber %]" maxlength="[% maxlength_cardnumber %]" />
[% IF ( mandatorycardnumber ) %]<span class="required">Required</span>[% END %]
<div class="hint">Card number must be between [% minlength_cardnumber %] and [% maxlength_cardnumber %] characters.</div>
[% ELSIF maxlength_cardnumber %]
<input type="text" id="cardnumber" name="cardnumber" size="20" value="[% cardnumber %]" maxlength="[% maxlength_cardnumber %]" />
[% IF ( mandatorycardnumber ) %]<span class="required">Required</span>[% END %]
<div class="hint">Card number can be up to [% maxlength_cardnumber %] characters.</div>
[% ELSE %]
<input type="text" id="cardnumber" name="cardnumber" size="20" value="[% cardnumber %]" />
[% IF ( mandatorycardnumber ) %]<span class="required">Required</span>[% END %]
<div class="hint">There is no minimum or maximum character length.</div>
[% 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_entry" class="required">Category: </label>
<select id="categorycode_entry" 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>
[% PROCESS 'av-build-dropbox.inc' name="sort1", category="Bsort1", default=sort1, size = 20 %]
[% IF ( mandatorysort1 ) %]<span class="required">Required</span>[% END %]
</li>
[% END %]
[% UNLESS nosort2 %]
<li>
[% IF ( mandatorysort2 ) %]
<label for="sort2" class="required">
[% ELSE %]
<label for="sort2">
[% END %]
Sort 2: </label>
[% PROCESS 'av-build-dropbox.inc' name="sort2", category="Bsort2", default=sort2, size = 20 %]
[% IF ( mandatorysort2 ) %]<span class="required">Required</span>[% END %]
</li>
[% END %]
[% IF ( Koha.Preference( 'NorwegianPatronDBEnable' ) == 1 ) %]
<li>
<label for="sort2">Sync with the Norwegian national patron database:</label>
[% IF ( sync == 0 ) %]
<input type="radio" id="sync" name="sync" value="1"> Yes
<input type="radio" id="sync" name="sync" value="0" checked> No
[% ELSE %]
<input type="radio" id="sync" name="sync" value="1" checked> Yes
<input type="radio" id="sync" name="sync" value="0"> No
[% 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="[% UNLESS opduplicate %][% dateexpiry %][% END %]" 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="[% UNLESS opduplicate %][% dateexpiry %][% END %]" 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">[% UNLESS opduplicate %][% opacnote %][% END %]</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">[% UNLESS opduplicate %][% borrowernotes %][% END %]</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 %]
[%# Dummy input to avoid Firefox from using userid/password saved for authentication %]
<input type="text" disabled="disabled" style="display:none" />
[% 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 || opduplicate ) %]
<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 ) %]
<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>
[% ELSE %]
<p>Patron is currently unrestricted.</p>
[% 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="#">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_entry').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" />
[% INCLUDE 'messaging-preference-form.inc' %]
[% IF ( SMSSendDriver ) %]
<p><label for="SMSnumber">SMS number:</label>
<input type="text" id="SMSnumber" name="SMSnumber" value="[% SMSnumber %]" />
</p>
<p>
<label for="sms_provider_id">SMS provider:</label>
<select id="sms_provider_id" name="sms_provider_id"/>
<option value="">Unknown</option>
[% FOREACH s IN sms_providers %]
[% IF s.id == sms_provider_id %]
<option value="[% s.id %]" selected="selected">[% s.name %]</option>
[% ELSE %]
<option value="[% s.id %]">[% s.name %]</option>
[% END %]
[% END %]
</select>
</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' %]