{% extends 'login_base.html.twig' %}
{% block title %}Mot de passe oublié{% endblock %}
{% block canonical %}{{ path('app_forgot_password_request') }}{% endblock %}
{% block stylesheets %}
{{ parent() }}
{% endblock %}
{% block body %}
<div class="login-content d-flex flex-column pt-lg-0 pt-12">
<!--begin::Logo-->
<a href="" class="login-logo pb-xl-20 pb-15">
<img src="{{ asset('/public/assets/bo/media/logo.png') }}" class="max-h-70px" alt="ZOE Business logo" />
</a>
<!--end::Logo-->
<!--begin::Signin-->
<div class="login-form">
{% for flash_error in app.flashes('reset_password_error') %}
<div class="alert alert-danger" role="alert">{{ flash_error }}</div>
{% endfor %}
<!--begin::Form-->
{{ form_start(requestForm, {'attr': {'class': 'form', 'id': 'kt_password_reset_form', 'novalidate': 'novalidate', 'data-kt-redirect-url': ''}}) }}
<!--begin::Title-->
<div class="pb-5 pb-lg-15">
<h3 class="font-weight-bolder text-dark font-size-h2 font-size-h1-lg">Réinitialiser votre mot de passe</h3>
</div>
<!--begin::Title-->
<!--begin::Form group-->
<div class="form-group">
{{ form_label(requestForm.email) }}
{{ form_widget(requestForm.email) }}
<div id="mail_error" class="text-danger mt-1 d-none">Adresse email invalide</div>
</div>
<!--begin::Action-->
<div class="d-flex flex-wrap justify-content-center pb-lg-0">
<button type="button" id="kt_password_reset_submit" class="btn btn-primary mr-4 font-weight-bolder font-size-h6">
<span class="indicator-label">Soumettre</span>
</button>
<a href="{{ path('app_login') }}" class="btn btn-light font-weight-bolder font-size-h6">Retour</a>
</div>
<!--end::Action-->
{{ form_end(requestForm) }}
<!--end::Form-->
</div>
<!--end::Signin-->
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script>
$(document).ready(function (){
function removeClass(element, _class){
_class.map((row) => {
element.removeClass(row)
})
}
function addClass(element, _class){
_class.map((row) => {
element.addClass(row)
})
}
let submitPasswordButton = $("#kt_password_reset_submit")
submitPasswordButton.prop("disabled",true)
let email = $("#reset_password_request_form_email")
let mail_error = $("#mail_error")
const mail_regex = new RegExp('^[a-zA-Z.-]+@[a-zA-Z]{1,6}(?:\.[a-zA-Z]{1,6}){0,2}\.[a-zA-Z]{2,3}$')
//RULE STATE
let validEmail = false
const isTrue = (currentValue) => currentValue === true;
function verifyAll(array) {
console.log("IS TRUE==>", array)
if(array.every(isTrue)){
submitPasswordButton.prop("disabled",false)
}else{
submitPasswordButton.prop("disabled",true)
}
}
email.tooltip({
enable: true,
template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>'
})
email.keyup(function (){
let email = $(this).val()
if (email.match(mail_regex)){
removeClass(mail_error,["d-block"])
addClass(mail_error,["d-none"])
validEmail = true
}else{
removeClass(mail_error,["d-none"])
addClass(mail_error,["d-block"])
validEmail = false
}
verifyAll([validEmail])
})
document.addEventListener('keypress', function (e) {
const arrays = [validEmail]
if ((e.keyCode === 13 || e.which === 13)){
if(!arrays.every(isTrue)){
e.preventDefault()
}else{
$("#kt_password_reset_form").submit()
}
}
});
})
</script>
{% endblock %}