parameciofm/paramecio/modules/admin2/templates/signup.phtml

186 lines
6.5 KiB
PHTML

<%inherit file="login.phtml"/>
<%block name="content">
<div class="card">
<div class="card-header bg-primary">
${tlang('Signup')}
</div>
<div class="card-body">
<form method="POST" action="${url_for('admin_app.signup_insert_admin')}" id="login_form" class="needs-validation" novalidate>
<div class="mb-3">
<label for="username_form" class="form-label">${tlang('Username')}*</label>
<input type="text" class="form-control form-control-lg has-validation" id="username_form" name="password" aria-describedby="username" autocomplete="off" minlength="4" pattern="\w{4,32}" required>
<div class="invalid-feedback">
${tlang('You need a valid username')}
</div>
</div>
<div class="mb-3">
<label for="email_form" class="form-label">${tlang('Email')}*</label>
<input type="email" class="form-control form-control-lg has-validation" id="email_form" name="email" autocomplete="off" minlength="4" required>
<div class="invalid-feedback">
${tlang('You need an email')}
</div>
</div>
<div class="mb-3">
<label for="password_form" class="form-label">Password*</label>
<input type="password" class="form-control form-control-lg has-validation" id="password_form" name="password" autocomplete="off" minlength="2" required>
<div class="invalid-feedback">
${tlang('You need a password')}
</div>
</div>
<div class="mb-3">
<label for="repeat_password_form" class="form-label">${tlang('Repeat password')}*</label>
<input type="password" class="form-control form-control-lg has-validation" id="repeat_password_form" name="repeat_password" autocomplete="off" minlength="2" required>
<div class="invalid-feedback">
${tlang('You need the same password in this field and not empty')}
</div>
</div>
<button type="submit" id="login_submit" class="btn btn-primary">${tlang('Create user')}</button>
${csrf_token()|n}
</form>
</div>
</%block>
<%block name="jscript">
<script>
$(document).ready( function () {
$('#repeat_password_form').on('input',function(e){
if($('#repeat_password_form').val()!=$('#password_form').val()) {
console.log('No match');
$('#repeat_password_form').get(0).setCustomValidity("${tlang('Passwords doesn\'t match')}");
}
else {
$('#repeat_password_form').get(0).setCustomValidity("");
}
});
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.querySelectorAll('.needs-validation');
var error=false;
// Loop over them and prevent submission
Array.prototype.slice.call(forms)
.forEach(function (form) {
form.addEventListener('submit', function (event) {
error=false;
if (!form.checkValidity()) {
error=true;
}
event.preventDefault();
event.stopPropagation();
form.classList.add('was-validated');
var form_data=new FormData(form);
if(!error) {
console.log('send submit');
$('#loader-div').show();
$('#login_submit').prop('disabled', true);
data_form={'username': $('#username_form').val(), 'email': $('#email_form').val(), 'password': $('#password_form').val(), 'repeat_password': $('#repeat_password_form').val(), 'csrf_token': $("#csrf_token").val()};
$.ajax({
url: "${url_for('admin_app.signup_insert_admin')}",
method: "POST",
dataType: "json",
contentType : 'application/json',
data: JSON.stringify(data_form),
error: function (data) {
console.log(JSON.stringify(data));
$('#loader-div').hide();
$('#login_submit').prop('disabled', false);
alert('${tlang("Error: please, try again later")}');
},
}).done(function(data) {
if(data.error==0)
{
//location.reload()
location.href="${url_for('admin_app.login_admin')}";
}
else
{
$('#login_submit').prop('disabled', false);
$('#loader-div').hide();
}
});
}
}
)
});
/*$('#login_form').submit( function () {
$('#loader-div').show();
$('#login_submit').prop('disabled', true);
data_form={'username': $('#username_form').val(), 'email': $('#email_form').val(), 'password': $('#password_form').val(), 'repeat_password': $('#repeat_password_form').val(), 'csrf_token': $("#csrf_token").val()};
$.ajax({
url: "${url_for('admin_app.signup_insert_admin')}",
method: "POST",
dataType: "json",
contentType : 'application/json',
data: JSON.stringify(data_form),
error: function (data) {
console.log(JSON.stringify(data));
$('#loader-div').hide();
$('#login_submit').prop('disabled', false);
},
}).done(function(data) {
if(data.error==0)
{
//location.reload()
location.href="${url_for('admin_app.home_admin')}";
}
else
{
$('#login_submit').prop('disabled', false);
$('#loader-div').hide();
}
});
return false;
});*/
});
</script>
</%block>