|
Lines 6-19
Link Here
|
| 6 |
<script type="text/JavaScript"> |
6 |
<script type="text/JavaScript"> |
| 7 |
//<![CDATA[ |
7 |
//<![CDATA[ |
| 8 |
|
8 |
|
|
|
9 |
function generate_password() { |
| 10 |
// Always generate a strong password |
| 11 |
var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
| 12 |
var length = [% minPasswordLength %]; |
| 13 |
var password=''; |
| 14 |
for ( var i = 0 ; i < length ; i++){ |
| 15 |
password += chars.charAt(Math.floor(Math.random()*chars.length)); |
| 16 |
} |
| 17 |
return password; |
| 18 |
} |
| 9 |
$(document).ready(function() { |
19 |
$(document).ready(function() { |
| 10 |
$("body").on('click', "#fillrandom",function(e) { |
20 |
$("body").on('click', "#fillrandom",function(e) { |
| 11 |
e.preventDefault(); |
21 |
e.preventDefault(); |
| 12 |
$.get("/cgi-bin/koha/members/member-password.pl?member=[% userid %]", function(response) { |
22 |
var password = ''; |
| 13 |
var defaultnewpass = $(response).find("#defaultnewpassfield").val(); |
23 |
var pattern_regex = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{[% minPasswordLength %],}/; |
| 14 |
$("#newpassword").after("<input type=\"text\" name=\"newpassword\" id=\"newpassword\" value=\"" + defaultnewpass + "\">").remove(); |
24 |
while ( ! pattern_regex.test( password ) ) { |
| 15 |
$("#newpassword2").after("<input type=\"text\" name=\"newpassword2\" id=\"newpassword2\" value=\"" + defaultnewpass + "\">").remove(); |
25 |
password = generate_password(); |
| 16 |
}); |
26 |
} |
|
|
27 |
$("#newpassword").val(password); |
| 28 |
$("#newpassword").attr('type', 'text'); |
| 29 |
$("#newpassword2").val(password); |
| 30 |
$("#newpassword2").attr('type', 'text'); |
| 17 |
}); |
31 |
}); |
| 18 |
$("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>"); |
32 |
$("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>"); |
| 19 |
|
33 |
|
|
Lines 120-126
Link Here
|
| 120 |
|
134 |
|
| 121 |
</div> |
135 |
</div> |
| 122 |
</div> |
136 |
</div> |
| 123 |
<input type="hidden" name="defaultnewpassfield" id="defaultnewpassfield" value="[% defaultnewpassword %]" /> |
|
|
| 124 |
<div class="loading hide"><strong>Processing...</strong><img src="[% interface %]/[% theme %]/img/loading.gif" alt="" /></div> |
137 |
<div class="loading hide"><strong>Processing...</strong><img src="[% interface %]/[% theme %]/img/loading.gif" alt="" /></div> |
| 125 |
<div class="yui-b"> |
138 |
<div class="yui-b"> |
| 126 |
[% INCLUDE 'circ-menu.inc' %] |
139 |
[% INCLUDE 'circ-menu.inc' %] |