125 lines
3.4 KiB
XML
125 lines
3.4 KiB
XML
<metal:block use-macro="main_template">
|
|
<div metal:fill-slot="content">
|
|
|
|
<div tal:condition="message" tal:content="message" class="alert alert-danger" />
|
|
|
|
<div class="col-md-offset-4 col-md-4 well">
|
|
<form id="login-form" role="form" action="${url}" method="post">
|
|
<input type="hidden" name="came_from" value="${came_from}"/>
|
|
|
|
<h3>Se connecter</h3>
|
|
|
|
<div class="form-group">
|
|
<input class="form-control" name="login" id="login" value="${login}" placeholder="Code utilisateur" type="text" />
|
|
<span style="font-size:11px;color:#8f0a03" id="error"></span>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<!-- label class="control-label" for="password">Mot de passe</label -->
|
|
<input class="form-control" type="password" id="password" name="password" value="${password}" placeholder="Mot de passe" />
|
|
</div>
|
|
<div class="form-group hidden" id="form-agence">
|
|
<select class="form-control" type="text" id="agence" name="agence" >
|
|
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<button id="submitButton" class="btn btn-primary" disabled="disabled" type="submit" name="form.submitted">Se connecter</button>
|
|
</div>
|
|
|
|
<p class="help-block">
|
|
<a href="${request.route_url('email_password')}">Mot de passe oublié ?</a><br />
|
|
</p>
|
|
<p class="text-right">${device}</p>
|
|
</form>
|
|
|
|
|
|
</div>
|
|
|
|
<script>
|
|
$(document).ready(function() {
|
|
$('#login-form').formValidation({
|
|
framework: 'bootstrap',
|
|
message: 'This value is not valid',
|
|
icon: {
|
|
valid: 'glyphicon glyphicon-ok',
|
|
invalid: 'glyphicon glyphicon-remove',
|
|
validating: 'glyphicon glyphicon-refresh'
|
|
},
|
|
fields: {
|
|
login: {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'Le code utilisateur est obligatoire'
|
|
},
|
|
}
|
|
},
|
|
password: {
|
|
validators: {
|
|
notEmpty: {
|
|
message: 'Le mot de passe est obligatoire'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
$('form input').on('keypress', function(e) {
|
|
var code = e.keyCode || e.which;
|
|
if (code === 13) {
|
|
e.preventDefault();
|
|
// simuler clic bouton submit
|
|
document.getElementById("submitButton").click();
|
|
}
|
|
});
|
|
$('#login').on('change input',function(e){
|
|
if(e.currentTarget.value.trim() != ''){
|
|
$.ajax({
|
|
url: "${request.application_url}/ajax_login",
|
|
type: "POST",
|
|
dataType: "json",
|
|
data:{
|
|
login: e.currentTarget.value.toUpperCase(),
|
|
},
|
|
success: function(data){
|
|
$('#submitButton').attr('disabled','disabled');
|
|
if(data.find == true){
|
|
$('#error').text('');
|
|
$('#agence').html('');
|
|
if(data.mobile){
|
|
$.each(data.agence,function(i,item){
|
|
$('#agence').append(new Option(item.libelle, item.code));
|
|
});
|
|
$('#form-agence').removeClass('hidden');
|
|
}
|
|
else{
|
|
$('#form-agence').addClass('hidden');
|
|
}
|
|
$('#submitButton').removeAttr('disabled');
|
|
}
|
|
else{
|
|
$('#login').parent().removeClass('has-success').addClass('has-error');
|
|
$('#error').text('Code utilisateur non trouvé');
|
|
$('#form-agence').addClass('hidden');
|
|
}
|
|
},
|
|
error: function(errMsg) {
|
|
$('#agence').html('');
|
|
$('#form-agence').addClass('hidden');
|
|
$('#submitButton').attr('disabled','disabled');
|
|
$('#error').text('Erreur de la connexion');
|
|
}
|
|
|
|
});
|
|
}
|
|
else{
|
|
$('#error').text('');
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
|
|
</div>
|
|
</metal:block>
|