View | Details | Raw Unified | Return to bug 5280
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/js/members.js (-3 / +12 lines)
Lines 85-90 var myDate2=document.form.dateexpiry.value.split ('/'); Link Here
85
// function to test all fields in forms and nav in different forms(1 ,2 or 3)
85
// function to test all fields in forms and nav in different forms(1 ,2 or 3)
86
function check_form_borrowers(nav){
86
function check_form_borrowers(nav){
87
	var statut=0;
87
	var statut=0;
88
	var message = "";
89
	var message_champ="";
88
	if (document.form.check_member.value == 1 )
90
	if (document.form.check_member.value == 1 )
89
	{
91
	{
90
		if (document.form_double.answernodouble) {
92
		if (document.form_double.answernodouble) {
Lines 101-109 function check_form_borrowers(nav){ Link Here
101
	else
103
	else
102
	{
104
	{
103
	    var champ_verif = document.form.BorrowerMandatoryField.value.split ('|');
105
	    var champ_verif = document.form.BorrowerMandatoryField.value.split ('|');
104
	    var message = MSG_MISSING_MANDATORY
106
	    message += MSG_MISSING_MANDATORY
105
	    message += "\n";
107
	    message += "\n";
106
	    var message_champ="";
107
		for (var i=0; i<champ_verif.length; i++) {
108
		for (var i=0; i<champ_verif.length; i++) {
108
			if (document.getElementsByName(""+champ_verif[i]+"")[0]) {
109
			if (document.getElementsByName(""+champ_verif[i]+"")[0]) {
109
				var val_champ=eval("document.form."+champ_verif[i]+".value");
110
				var val_champ=eval("document.form."+champ_verif[i]+".value");
Lines 128-137 function check_form_borrowers(nav){ Link Here
128
			}
129
			}
129
		}
130
		}
130
	}
131
	}
132
133
	if ( document.form.password.value != document.form.password2.value ){
134
			if ( message_champ != '' ){
135
				message_champ += "\n";
136
			}
137
			message_champ+= MSG_PASSWORD_MISMATCH;
138
			statut=1;
139
	}
140
131
	//patrons form to test if you checked no to the question of double
141
	//patrons form to test if you checked no to the question of double
132
 	if (statut!=1 && document.form.check_member.value > 0 ) {
142
 	if (statut!=1 && document.form.check_member.value > 0 ) {
133
		if (!(document.form_double.answernodouble.checked)){
143
		if (!(document.form_double.answernodouble.checked)){
134
			message ="";
135
			message_champ+= MSG_DUPLICATE_SUSPICION;
144
			message_champ+= MSG_DUPLICATE_SUSPICION;
136
			statut=1;
145
			statut=1;
137
			document.form.nodouble.value=0;
146
			document.form.nodouble.value=0;
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/member-password.tt (-7 / +45 lines)
Lines 1-6 Link Here
1
[% INCLUDE 'doc-head-open.inc' %]
1
[% INCLUDE 'doc-head-open.inc' %]
2
<title>Koha &rsaquo; Patrons &rsaquo; [% IF ( newpassword ) %]Password Updated [% ELSE %]Update Password for [% surname %], [% firstname %][% END %]</title>
2
<title>Koha &rsaquo; Patrons &rsaquo; [% IF ( newpassword ) %]Password Updated [% ELSE %]Update Password for [% surname %], [% firstname %][% END %]</title>
3
[% INCLUDE 'doc-head-close.inc' %]
3
[% INCLUDE 'doc-head-close.inc' %]
4
<script type="text/JavaScript">
5
//<![CDATA[
6
    $(document).ready(function() {
7
        $("#changepasswordf").submit(function(){
8
            if($("input[name='newpassword']").val() != $("input[name='newpassword2']").val()){
9
                alert(_("Passwords do not match"));
10
                return false;
11
            } else {
12
                return true;
13
            }
14
        });
15
        $("#fillrandom").live('click', function() {
16
            $("#newpassword").after("<input type=\"text\" name=\"newpassword\" value=\"[% defaultnewpassword %]\">").remove();
17
            $("#newpassword2").after("<input type=\"text\" name=\"newpassword2\" value=\"[% defaultnewpassword %]\">").remove();
18
        });
19
        $("div.hint").eq(0).after(" <div class=\"hint\"><a href=\"#\" id=\"fillrandom\">"+_("Click to fill with a randomly generated suggestion. ")+"<strong>"+_("Passwords will be displayed as text")+"</strong>.</a></div>");
20
    });
21
//]]>
22
</script>
4
</head>
23
</head>
5
<body>
24
<body>
6
[% INCLUDE 'header.inc' %]
25
[% INCLUDE 'header.inc' %]
Lines 20-50 Link Here
20
39
21
[% ELSE %]
40
[% ELSE %]
22
41
23
<form method="post" action="/cgi-bin/koha/members/member-password.pl">
42
<form method="post" id="changepasswordf" action="/cgi-bin/koha/members/member-password.pl">
24
<input type="hidden" name="destination" value="[% destination %]" />	
43
<input type="hidden" name="destination" value="[% destination %]" />	
25
<input type="hidden" name="cardnumber" value="[% cardnumber %]" />
44
<input type="hidden" name="cardnumber" value="[% cardnumber %]" />
26
<input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber %]" />
45
<input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber %]" />
27
	[% IF ( errormsg ) %]
46
	[% IF ( errormsg ) %]
47
		<div class="dialog alert">
48
		<h4>The following errors have occurred:</h4>
49
		<ul>
28
		[% IF ( BADUSERID ) %]
50
		[% IF ( BADUSERID ) %]
29
		<div class="dialog alert">You have entered a User ID that already exists.  Please choose another one.</div>
51
		<li>You have entered a username that already exists.  Please choose another one.</li>
30
		[% END %]
52
		[% END %]
31
		[% IF ( SHORTPASSWORD ) %]
53
		[% IF ( SHORTPASSWORD ) %]
32
		<div class="dialog alert"><strong>The password entered is too short</strong>. Password must be at least [% minPasswordLength %] characters.</div>
54
		<li><strong>The password entered is too short</strong>. Password must be at least [% minPasswordLength %] characters.</li>
33
		[% END %]
55
		[% END %]
34
		[% IF ( NOPERMISSION ) %]
56
		[% IF ( NOPERMISSION ) %]
35
		<div class="dialog alert">You do not have permission to edit this patron's login information.</div>
57
		<li>You do not have permission to edit this patron's login information.</li>
36
		[% END %]
58
		[% END %]
59
		[% IF ( NOMATCH ) %]
60
		<li><strong>The passwords entered do not match</strong>. Please re-enter the new password.</li>
61
		[% END %]
62
		</ul>
63
		</div>
37
	[% END %]
64
	[% END %]
38
65
39
66
40
	<fieldset class="brief"><legend>Change Username and/or Password for [% firstname %] [% surname %]</legend>
67
	<fieldset class="brief"><legend>Change Username and/or Password for [% firstname %] [% surname %]</legend>
41
	<ol>
68
	<ol>
42
	<li><label for="newuserid">New Username:</label>
69
	<li><label for="newuserid">New Username:</label>
43
	<input type="hidden" name="member" value="[% member %]" /><input type="text" id="newuserid" name="newuserid" size="20" value="[% userid %]" /></li>
70
	<input type="hidden" name="member" value="[% borrowernumber %]" /><input type="text" id="newuserid" name="newuserid" size="20" value="[% userid %]" /></li>
44
	<li><label for="newpassword">New Password:</label>
71
	<li><label for="newpassword">New Password:</label>
45
	<div class="hint">Koha cannot display existing passwords. Below is a randomly generated suggestion.  Leave the field blank to leave password unchanged.</div>
72
	<div class="hint">Koha cannot display existing passwords. Leave the field blank to leave password unchanged.</div>
46
	[% IF ( minPasswordLength ) %]<div class="hint">Minimum password length: [% minPasswordLength %]</div>[% END %]
73
	[% IF ( minPasswordLength ) %]<div class="hint">Minimum password length: [% minPasswordLength %]</div>[% END %]
47
	<input name="newpassword"  id="newpassword" type="text" size="20" value="[% defaultnewpassword %]" /></li>
74
	[% IF ( NOMATCH ) %]
75
	<input name="newpassword"  id="newpassword" type="password" size="20" class="focus" />
76
	<input name="newpassword" id="newpassword_random" readonly="readonly" disabled="disabled" type="hidden" />
77
	[% ELSE %]
78
	<input name="newpassword"  id="newpassword" type="password" size="20" />
79
	<input name="newpassword" readonly="readonly" disabled="disabled" type="hidden" />
80
	[% END %]
81
	</li>
82
	<li><label for="newpassword2">Confirm New Password:</label>
83
	<input name="newpassword2"  id="newpassword2" type="password" size="20" />
84
	<input name="newpassword2" id="newpassword2_random" readonly="readonly" disabled="disabled" type="hidden" />
85
	</li>
48
	</ol>
86
	</ol>
49
</fieldset>
87
</fieldset>
50
	<fieldset class="action"><input type="submit" value="Save" /> <a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a></fieldset>
88
	<fieldset class="action"><input type="submit" value="Save" /> <a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a></fieldset>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt (-12 / +58 lines)
Lines 3-9 Link Here
3
[% 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>
3
[% 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>
4
[% INCLUDE 'doc-head-close.inc' %]
4
[% INCLUDE 'doc-head-close.inc' %]
5
[% INCLUDE 'calendar.inc' %]
5
[% INCLUDE 'calendar.inc' %]
6
<script type="text/JavaScript" language="JavaScript">
6
<script type="text/JavaScript">
7
//<![CDATA[
7
//<![CDATA[
8
    $(document).ready(function() {
8
    $(document).ready(function() {
9
		$("fieldset.rows input").keydown(function(e){ return checkEnter(e); });
9
		$("fieldset.rows input").keydown(function(e){ return checkEnter(e); });
Lines 60-65 Link Here
60
        var MSG_LATE_EXPIRY = _("Warning: Expiration date falls before enrollment date");
60
        var MSG_LATE_EXPIRY = _("Warning: Expiration date falls before enrollment date");
61
        var MSG_MISSING_MANDATORY = _("The following fields are mandatory:");
61
        var MSG_MISSING_MANDATORY = _("The following fields are mandatory:");
62
        var MSG_DUPLICATE_SUSPICION = _("Please confirm whether this is a duplicate patron");
62
        var MSG_DUPLICATE_SUSPICION = _("Please confirm whether this is a duplicate patron");
63
        var MSG_PASSWORD_MISMATCH = _("The passwords entered do not match");
63
//]]>
64
//]]>
64
</script>
65
</script>
65
<script type="text/javascript" src="[% themelang %]/js/members.js"></script>
66
<script type="text/javascript" src="[% themelang %]/js/members.js"></script>
Lines 143-148 Link Here
143
			[% IF ( ERROR_short_password ) %]
144
			[% IF ( ERROR_short_password ) %]
144
				<li id="ERROR_short_password">Password must be at least [% minPasswordLength %] characters long.</li>
145
				<li id="ERROR_short_password">Password must be at least [% minPasswordLength %] characters long.</li>
145
			[% END %]
146
			[% END %]
147
			[% IF ( ERROR_password_mismatch ) %]
148
				<li id="ERROR_password_mismatch">Passwords do not match.</li>
149
			[% END %]
146
            [% IF ( ERROR_extended_unique_id_failed ) %]
150
            [% IF ( ERROR_extended_unique_id_failed ) %]
147
                <li id="ERROR_extended_unique_id_failed">The attribute value 
151
                <li id="ERROR_extended_unique_id_failed">The attribute value 
148
                    [% ERROR_extended_unique_id_failed %] is already is use by another patron record.</li>
152
                    [% ERROR_extended_unique_id_failed %] is already is use by another patron record.</li>
Lines 1182-1222 Link Here
1182
			[% IF ( opadd ) %]
1186
			[% IF ( opadd ) %]
1183
			[% IF ( NoUpdateLogin ) %]
1187
			[% IF ( NoUpdateLogin ) %]
1184
				[% IF ( opduplicate ) %]
1188
				[% IF ( opduplicate ) %]
1185
					<input type="text" id="password" name="password" size="20"  disabled="disabled" />
1189
					<input type="password" id="password" name="password" size="20"  disabled="disabled" />
1186
				[% ELSE %]
1190
				[% ELSE %]
1187
					<input type="text" id="password" name="password" size="20"  disabled="disabled" value="[% password %]" />
1191
					<input type="password" id="password" name="password" size="20"  disabled="disabled" value="[% password %]" />
1188
				[% END %]
1192
				[% END %]
1189
[% ELSE %]
1193
[% ELSE %]
1190
				[% IF ( opduplicate ) %]
1194
				[% IF ( opduplicate ) %]
1191
					<input type="text" id="password" name="password" size="20" />
1195
					<input type="password" id="password" name="password" size="20" />
1192
				[% ELSE %]
1196
				[% ELSE %]
1193
					<input type="text" id="password" name="password" size="20" value="[% password %]" />
1197
					<input type="password" id="password" name="password" size="20" value="[% password %]" />
1194
				[% END %]
1198
				[% END %]
1195
[% END %]
1199
[% END %]
1196
			[% ELSE %]
1200
			[% ELSE %]
1197
			[% IF ( password ) %]
1201
			[% IF ( password ) %]
1198
				[% IF ( NoUpdateLogin ) %]
1202
				[% IF ( NoUpdateLogin ) %]
1199
					<input type="text" id="password" name="password" size="20"  disabled="disabled" value="****" />
1203
					<input type="password" id="password" name="password" size="20"  disabled="disabled" value="****" />
1200
				[% ELSE %]
1204
				[% ELSE %]
1201
					[% IF ( opduplicate ) %]
1205
					[% IF ( opduplicate ) %]
1202
						<input type="text" id="password" name="password" size="20" />
1206
						<input type="password" id="password" name="password" size="20" />
1203
					[% ELSE %]
1207
					[% ELSE %]
1204
						<input type="text" id="password" name="password" size="20" value="****" />
1208
						<input type="password" id="password" name="password" size="20" value="****" />
1205
					[% END %]
1209
					[% END %]
1206
				[% END %]
1210
				[% END %]
1207
			[% ELSE %]
1211
			[% ELSE %]
1208
				[% IF ( NoUpdateLogin ) %]
1212
				[% IF ( NoUpdateLogin ) %]
1209
					<input type="text" id="password" name="password" size="20"  disabled="disabled" value="" />
1213
					<input type="password" id="password" name="password" size="20"  disabled="disabled" value="" />
1210
				[% ELSE %]
1214
				[% ELSE %]
1211
					<input type="text" id="password" name="password" size="20" value="" />
1215
					<input type="password" id="password" name="password" size="20" value="" />
1212
				[% END %]
1216
				[% END %]
1213
			[% END %]
1217
			[% END %]
1214
			[% END %]
1218
			[% END %]
1215
	  [% IF ( mandatorypassword ) %]<span class="required">Required</span>[% END %][% IF ( ERROR_short_password ) %]<span class="required">Password is too short</span>[% END %]
1219
	  [% IF ( mandatorypassword ) %]<span class="required">Required</span>[% END %][% IF ( ERROR_short_password ) %]<span class="required">Password is too short</span>[% END %]
1216
[% IF ( minPasswordLength ) %]<div class="hint">Minimum password length: [% minPasswordLength %]</div>[% END %]
1220
[% IF ( minPasswordLength ) %]<div class="hint">Minimum password length: [% minPasswordLength %]</div>[% END %]
1217
		</li>
1221
		</li>
1218
        [% END %]
1222
		<li>
1219
    </ol>
1223
			[% IF ( mandatorypassword ) %]
1224
			<label for="password2" class="required">
1225
			[% ELSE %]
1226
			<label for="password2">
1227
			[% END %]
1228
			Confirm password: </label>
1229
			[% IF ( opadd ) %]
1230
			[% IF ( NoUpdateLogin ) %]
1231
				[% IF ( opduplicate ) %]
1232
					<input type="password" id="password2" name="password2" size="20"  disabled="disabled" />
1233
				[% ELSE %]
1234
					<input type="password" id="password2" name="password2" size="20"  disabled="disabled" value="[% password %]" />
1235
				[% END %]
1236
[% ELSE %]
1237
				[% IF ( opduplicate ) %]
1238
					<input type="password" id="password2" name="password2" size="20" />
1239
				[% ELSE %]
1240
					<input type="password" id="password2" name="password2" size="20" value="[% password %]" />
1241
				[% END %]
1242
[% END %]
1243
			[% ELSE %]
1244
			[% IF ( password ) %]
1245
				[% IF ( NoUpdateLogin ) %]
1246
					<input type="password" id="password2" name="password2" size="20"  disabled="disabled" value="****" />
1247
				[% ELSE %]
1248
					[% IF ( opduplicate ) %]
1249
						<input type="password" id="password2" name="password2" size="20" />
1250
					[% ELSE %]
1251
						<input type="password" id="password2" name="password2" size="20" value="****" />
1252
					[% END %]
1253
				[% END %]
1254
			[% ELSE %]
1255
				[% IF ( NoUpdateLogin ) %]
1256
					<input type="password" id="password2" name="password2" size="20"  disabled="disabled" value="" />
1257
				[% ELSE %]
1258
					<input type="password" id="password2" name="password2" size="20" value="" />
1259
				[% END %]
1260
			[% END %]
1261
			[% END %]
1262
	  [% IF ( mandatorypassword ) %]<span class="required">Required</span>[% END %][% IF ( ERROR_password_mismatch ) %]<span class="required">Passwords do not match</span>[% END %]
1263
		</li>
1264
		</ol>
1220
		</fieldset>
1265
		</fieldset>
1221
        [% END # hide fieldset %]
1266
        [% END # hide fieldset %]
1222
		<!--this zones are not necessary in modif mode -->
1267
		<!--this zones are not necessary in modif mode -->
Lines 1431-1436 Link Here
1431
[% INCLUDE 'members-menu.inc' %]
1476
[% INCLUDE 'members-menu.inc' %]
1432
</div>[% END %]
1477
</div>[% END %]
1433
[% END %]
1478
[% END %]
1479
[% END %]
1434
</div>
1480
</div>
1435
[% INCLUDE 'intranet-bottom.inc' %]
1481
[% INCLUDE 'intranet-bottom.inc' %]
1436
1482
(-)a/members/member-password.pl (-18 / +18 lines)
Lines 40-56 $flagsrequired->{borrowers}=1; Link Here
40
my $member=$input->param('member');
40
my $member=$input->param('member');
41
my $cardnumber = $input->param('cardnumber');
41
my $cardnumber = $input->param('cardnumber');
42
my $destination = $input->param('destination');
42
my $destination = $input->param('destination');
43
my $errormsg;
43
my @errors;
44
my ($bor)=GetMember('borrowernumber' => $member);
44
my ($bor)=GetMember('borrowernumber' => $member);
45
if(( $member ne $loggedinuser ) && ($bor->{'category_type'} eq 'S' ) ) {
45
if(( $member ne $loggedinuser ) && ($bor->{'category_type'} eq 'S' ) ) {
46
	$errormsg = 'NOPERMISSION' unless($staffflags->{'superlibrarian'} || $staffflags->{'staffaccess'} );
46
	push(@errors,'NOPERMISSION') unless($staffflags->{'superlibrarian'} || $staffflags->{'staffaccess'} );
47
	# need superlibrarian for koha-conf.xml fakeuser.
47
	# need superlibrarian for koha-conf.xml fakeuser.
48
}
48
}
49
my $newpassword = $input->param('newpassword');
49
my $newpassword = $input->param('newpassword');
50
my $newpassword2 = $input->param('newpassword2');
51
52
push(@errors,'NOMATCH') if ( ( $newpassword && $newpassword2 ) && ($newpassword ne $newpassword2) );
53
50
my $minpw = C4::Context->preference('minPasswordLength');
54
my $minpw = C4::Context->preference('minPasswordLength');
51
$errormsg = 'SHORTPASSWORD' if( $newpassword && $minpw && (length($newpassword) < $minpw ) );
55
push(@errors,'SHORTPASSWORD') if( $newpassword && $minpw && (length($newpassword) < $minpw ) );
52
56
53
if ( $newpassword  && ! $errormsg ) {
57
if ( $newpassword  && !scalar(@errors) ) {
54
    my $digest=md5_base64($input->param('newpassword'));
58
    my $digest=md5_base64($input->param('newpassword'));
55
    my $uid = $input->param('newuserid');
59
    my $uid = $input->param('newuserid');
56
    my $dbh=C4::Context->dbh;
60
    my $dbh=C4::Context->dbh;
Lines 62-74 if ( $newpassword && ! $errormsg ) { Link Here
62
		    print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member");
66
		    print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member");
63
		}
67
		}
64
    } else {
68
    } else {
65
			$errormsg = 'BADUSERID';
69
			push(@errors,'BADUSERID');
66
    	    $template->param(othernames => $bor->{'othernames'},
67
						surname     => $bor->{'surname'},
68
						firstname   => $bor->{'firstname'},
69
						userid      => $bor->{'userid'},
70
						defaultnewpassword => $newpassword 
71
						);
72
    }
70
    }
73
} else {
71
} else {
74
    my $userid = $bor->{'userid'};
72
    my $userid = $bor->{'userid'};
Lines 79-85 if ( $newpassword && ! $errormsg ) { Link Here
79
    for (my $i=0; $i<$length; $i++) {
77
    for (my $i=0; $i<$length; $i++) {
80
	$defaultnewpassword.=substr($chars, int(rand(length($chars))),1);
78
	$defaultnewpassword.=substr($chars, int(rand(length($chars))),1);
81
    }
79
    }
82
	
80
81
	$template->param( defaultnewpassword => $defaultnewpassword );
82
}
83
    if ( $bor->{'category_type'} eq 'C') {
83
    if ( $bor->{'category_type'} eq 'C') {
84
        my  ( $catcodes, $labels ) =  GetborCatFromCatType( 'A', 'WHERE category_type = ?' );
84
        my  ( $catcodes, $labels ) =  GetborCatFromCatType( 'A', 'WHERE category_type = ?' );
85
        my $cnt = scalar(@$catcodes);
85
        my $cnt = scalar(@$catcodes);
Lines 120-135 if (C4::Context->preference('ExtendedPatronAttributes')) { Link Here
120
	    userid      => $bor->{'userid'},
120
	    userid      => $bor->{'userid'},
121
	    destination => $destination,
121
	    destination => $destination,
122
		is_child        => ($bor->{'category_type'} eq 'C'),
122
		is_child        => ($bor->{'category_type'} eq 'C'),
123
	    defaultnewpassword => $defaultnewpassword,
124
		activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''),
123
		activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''),
124
        minPasswordLength => $minpw
125
	);
125
	);
126
126
127
if( scalar(@errors )){
128
	$template->param( errormsg => 1 );
129
	foreach my $error (@errors) {
130
        $template->param($error) || $template->param( $error => 1);
131
	}
127
132
128
}
133
}
129
134
130
$template->param( member => $member,
131
					errormsg => $errormsg,
132
					$errormsg => 1 ,
133
					minPasswordLength => $minpw );
134
135
output_html_with_http_headers $input, $cookie, $template->output;
135
output_html_with_http_headers $input, $cookie, $template->output;
(-)a/members/memberentry.pl (-1 / +2 lines)
Lines 292-297 if ($op eq 'save' || $op eq 'insert'){ Link Here
292
  }
292
  }
293
  
293
  
294
  my $password = $input->param('password');
294
  my $password = $input->param('password');
295
  my $password2 = $input->param('password2');
296
  push @errors, "ERROR_password_mismatch" if ( $password ne $password2 );
295
  push @errors, "ERROR_short_password" if( $password && $minpw && $password ne '****' && (length($password) < $minpw) );
297
  push @errors, "ERROR_short_password" if( $password && $minpw && $password ne '****' && (length($password) < $minpw) );
296
298
297
  if (C4::Context->preference('ExtendedPatronAttributes')) {
299
  if (C4::Context->preference('ExtendedPatronAttributes')) {
298
- 

Return to bug 5280