2012-10-03 23:34:27 +02:00
|
|
|
$(function () {
|
2013-04-03 22:30:36 +02:00
|
|
|
// NB: this file is included on multiple pages. In each context,
|
|
|
|
// some of the jQuery selectors below will return empty lists.
|
2017-06-29 16:26:48 +02:00
|
|
|
var password_field = $('#id_password, #id_new_password1');
|
2013-04-03 22:30:36 +02:00
|
|
|
|
2016-12-02 14:06:06 +01:00
|
|
|
$.validator.addMethod('password_strength', function (value) {
|
2017-06-29 16:26:48 +02:00
|
|
|
return common.password_quality(value, undefined, password_field);
|
|
|
|
}, function () {
|
|
|
|
return common.password_warning(password_field.val(), password_field);
|
|
|
|
});
|
2013-04-03 22:30:36 +02:00
|
|
|
|
2013-04-03 20:33:25 +02:00
|
|
|
function highlight(class_to_add) {
|
|
|
|
// Set a class on the enclosing control group.
|
|
|
|
return function (element) {
|
|
|
|
$(element).closest('.control-group')
|
|
|
|
.removeClass('success error')
|
|
|
|
.addClass(class_to_add);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2013-04-08 21:24:44 +02:00
|
|
|
$('#registration, #password_reset').validate({
|
2013-04-03 22:30:36 +02:00
|
|
|
rules: {
|
2013-04-08 21:24:44 +02:00
|
|
|
password: 'password_strength',
|
2017-01-12 00:17:43 +01:00
|
|
|
new_password1: 'password_strength',
|
2013-04-03 22:30:36 +02:00
|
|
|
},
|
2012-10-03 23:43:25 +02:00
|
|
|
errorElement: "p",
|
|
|
|
errorPlacement: function (error, element) {
|
2013-04-03 20:33:25 +02:00
|
|
|
// NB: this is called at most once, when the error element
|
|
|
|
// is created.
|
2017-01-19 19:02:56 +01:00
|
|
|
element.next('.help-inline.text-error').remove();
|
|
|
|
if (element.next().is('label[for="' + element.attr('id') + '"]')) {
|
|
|
|
error.insertAfter(element.next()).addClass('help-inline text-error');
|
|
|
|
} else {
|
|
|
|
error.insertAfter(element).addClass('help-inline text-error');
|
|
|
|
}
|
2012-10-03 23:43:25 +02:00
|
|
|
},
|
2013-04-03 20:33:25 +02:00
|
|
|
highlight: highlight('error'),
|
2017-01-12 00:17:43 +01:00
|
|
|
unhighlight: highlight('success'),
|
2012-10-03 23:43:25 +02:00
|
|
|
});
|
|
|
|
|
2017-06-29 16:26:48 +02:00
|
|
|
password_field.on('change keyup', function () {
|
2013-04-08 20:39:13 +02:00
|
|
|
// Update the password strength bar even if we aren't validating
|
|
|
|
// the field yet.
|
2017-06-22 22:08:43 +02:00
|
|
|
common.password_quality($(this).val(), $('#pw_strength .bar'), $(this));
|
2013-04-03 22:30:36 +02:00
|
|
|
});
|
|
|
|
|
2013-04-03 18:51:36 +02:00
|
|
|
$("#send_confirm").validate({
|
2017-08-15 21:59:44 +02:00
|
|
|
errorElement: "div",
|
2016-12-02 14:06:06 +01:00
|
|
|
errorPlacement: function (error) {
|
2017-08-15 21:59:44 +02:00
|
|
|
$('.alert-error').empty();
|
|
|
|
error.appendTo(".alert-error")
|
2012-10-04 17:05:34 +02:00
|
|
|
.addClass("text-error");
|
2012-10-03 23:43:25 +02:00
|
|
|
},
|
2013-04-03 19:08:11 +02:00
|
|
|
success: function () {
|
|
|
|
$('#errors').empty();
|
2017-01-12 00:17:43 +01:00
|
|
|
},
|
2012-09-25 22:58:59 +02:00
|
|
|
});
|
2013-07-06 03:38:37 +02:00
|
|
|
|
|
|
|
$("#login_form").validate({
|
2013-09-12 01:30:53 +02:00
|
|
|
errorClass: "text-error",
|
2017-01-12 00:17:43 +01:00
|
|
|
wrapper: "div",
|
2013-07-06 03:38:37 +02:00
|
|
|
});
|
2017-09-27 20:17:15 +02:00
|
|
|
|
|
|
|
$(".register-page #email, .login-page-container #id_username").on('focusout keydown', function (e) {
|
|
|
|
// check if it is the "focusout" or if it is a keydown, then check if
|
|
|
|
// the keycode was the one for "enter" (13).
|
|
|
|
if (e.type === "focusout" || e.which === 13) {
|
|
|
|
$(this).val($.trim($(this).val()));
|
|
|
|
}
|
|
|
|
});
|
2012-09-25 22:58:59 +02:00
|
|
|
});
|