initial upload
This commit is contained in:
124
aem_gestion/templates/default/login.pt
Normal file
124
aem_gestion/templates/default/login.pt
Normal file
@@ -0,0 +1,124 @@
|
||||
<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>
|
||||
Reference in New Issue
Block a user