initial upload
This commit is contained in:
18
monaem/templates/default/affiche_message.pt
Normal file
18
monaem/templates/default/affiche_message.pt
Normal file
@@ -0,0 +1,18 @@
|
||||
<metal:block use-macro="main_template">
|
||||
|
||||
<div metal:fill-slot="content">
|
||||
<div class="alert alert-info"
|
||||
tal:condition="messages"
|
||||
tal:repeat="message messages">
|
||||
<h4>${structure:message}</h4>
|
||||
</div>
|
||||
<p>
|
||||
<br />
|
||||
<a href="${url_identification}">Se connecter à mon compte</a>
|
||||
<br /><br />
|
||||
</p>
|
||||
<br />
|
||||
<br />
|
||||
</div>
|
||||
|
||||
</metal:block>
|
||||
35
monaem/templates/default/agence.pt
Normal file
35
monaem/templates/default/agence.pt
Normal file
@@ -0,0 +1,35 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="alert alert-warning" tal:condition="not item">
|
||||
Aucune agence trouvée.
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<div tal:condition="item">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h3><span tal:content="item.LIBELLE" /></h3>
|
||||
<p>
|
||||
<span class="glyphicon glyphicon-map-marker"></span> <span tal:content="item.adresse" />,
|
||||
<span tal:content="item.codepostal" /> <span tal:content="item.ville" /><br />
|
||||
|
||||
<span class="glyphicon glyphicon-phone"></span> <span tal:content="item.TELEPHONE" /><br />
|
||||
<span class="glyphicon glyphicon-envelope"></span> <span tal:content="item.email" /><br />
|
||||
</p>
|
||||
<p><a href="http://www.marietton.com/agencesMarietton.php">Découvrez toutes les agences MARIETTON</a></p>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<iframe src="${item.google_maps}" width="600" height="450" frameborder="0" style="border:1" ></iframe>
|
||||
</div>
|
||||
<br />
|
||||
</div> <!-- row -->
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
|
||||
</div><!-- content -->
|
||||
</metal:block>
|
||||
|
||||
|
||||
98
monaem/templates/default/change_details.pt
Normal file
98
monaem/templates/default/change_details.pt
Normal file
@@ -0,0 +1,98 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- Bloc adresse postale -->
|
||||
<div class="col-xs-offset-2 col-xs-5 well" tal:condition="member">
|
||||
${member.ADRESSE}<br />
|
||||
<div tal:condition="member.ADRESSE2">
|
||||
${member.ADRESSE2}<br />
|
||||
</div>
|
||||
${member.CODEPOST} ${member.VILLE}
|
||||
<br />
|
||||
<p>[<i>Pour changer votre adresse postale, veuillez contacter votre agence.</i>]</p>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<div class="row">
|
||||
<form id="change-member-details-form" class="form-horizontal" action="${url}" method="post" tal:condition="member"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label">Votre courriel</label>
|
||||
<div class="col-xs-5">
|
||||
<input class="form-control" type="text" name="email"
|
||||
value="${member.email}" placeholder="50 caractères maximum"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="L'adresse email est obligatoire"
|
||||
data-fv-emailaddress="true"
|
||||
data-fv-emailaddress-message="L'adresse email n'est pas valide" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label">Téléphone personnel</label>
|
||||
<div class="col-xs-5">
|
||||
<input class="form-control" type="text" name="TEL"
|
||||
value="${member.TEL}" placeholder="20 caractères maximum"
|
||||
data-fv-phone="true"
|
||||
data-fv-phone-country="FR"
|
||||
data-fv-phone-message="Ce numéro de téléphone n'est pas vailde" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label">Téléphone mobile</label>
|
||||
<div class="col-xs-5">
|
||||
<input class="form-control" type="text" name="TEL2"
|
||||
value="${member.TEL2}" placeholder="20 caractères maximum"
|
||||
data-fv-phone="true"
|
||||
data-fv-phone-country="FR"
|
||||
data-fv-phone-message="Ce numéro de téléphone n'est pas vailde" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label">Téléphone du père</label>
|
||||
<div class="col-xs-5">
|
||||
<input class="form-control" type="text" name="TEL3"
|
||||
value="${member.TEL3}" placeholder="20 caractères maximum"
|
||||
data-fv-phone="true"
|
||||
data-fv-phone-country="FR"
|
||||
data-fv-phone-message="Ce numéro de téléphone n'est pas vailde" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label">Téléphone de la mère</label>
|
||||
<div class="col-xs-5">
|
||||
<input class="form-control" type="text" name="TEL4"
|
||||
value="${member.TEL4}" placeholder="20 caractères maximum"
|
||||
data-fv-phone="true"
|
||||
data-fv-phone-country="FR"
|
||||
data-fv-phone-message="Ce numéro de téléphone n'est pas vailde" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-offset-2 col-xs-5">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted">
|
||||
<span class="glyphicon glyphicon-ok"></span> Enregistrer</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div> <!-- row -->
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#change-member-details-form').formValidation();
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
100
monaem/templates/default/change_password.pt
Normal file
100
monaem/templates/default/change_password.pt
Normal file
@@ -0,0 +1,100 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div tal:condition="message" tal:content="message" class="alert alert-danger" />
|
||||
<br />
|
||||
<div class="row">
|
||||
<form id="change-password-form" class="form-horizontal" action="${url}" method="post" tal:condition="member"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-xs-3 control-label">Mot de passe actuel</label>
|
||||
<div class="col-xs-4">
|
||||
<input class="form-control" type="password" name="old_password"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="Le mot de passe est obligatoire" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-3 control-label">Nouveau mot de passe</label>
|
||||
<div class="col-xs-4">
|
||||
<input class="form-control" type="password" name="new_password1" id="new_password1"
|
||||
placeholder="20 caractères maximum"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="Le mot de passe est obligatoire" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-3 control-label">Confirmer le mot de passe</label>
|
||||
<div class="col-xs-4">
|
||||
<input class="form-control" type="password" name="new_password2" id="new_password2"
|
||||
placeholder="20 caractères maximum"
|
||||
data-fv-identical="true"
|
||||
data-fv-identical-field="password"
|
||||
data-fv-identical-message="Le mot de passe et sa confirmation ne sont pas identiques" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-xs-offset-3 col-xs-4">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted">
|
||||
<span class="glyphicon glyphicon-ok"></span> Enregistrer</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
</div> <!-- row -->
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var fv = $('#change-password-form').formValidation({
|
||||
fields: {
|
||||
new_password1: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Le mot de passe est obligatoire'
|
||||
},
|
||||
stringLength:{
|
||||
min: 8,
|
||||
max: 20,
|
||||
message: "La longueur du mot de passe n'est pas respectée, minimum 8, maximum 20"
|
||||
},
|
||||
regexp: {
|
||||
regexp: /^(?=.*\d)(?=.*[!@#$%^&*\_\-\.\+,;\:\\/§à\]\[\?\{\}])(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$%^&*\_\-\.\+,;\:\\/§à\]\[\?\{\}]{8,}$/,
|
||||
message: 'Le mot de passe doit contenir au minimum une lettre, un nombre,un majuscule, un minuscle, et un caractère speciaux.',
|
||||
}
|
||||
}
|
||||
},
|
||||
new_password2: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Le mot de passe est obligatoire'
|
||||
},
|
||||
callback: {
|
||||
message: 'Le mot de passe et sa confirmation ne sont pas identiques.',
|
||||
callback: function(input) {
|
||||
var new_password1 = $('#new_password1').val();
|
||||
return new_password1 == input;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}).data();
|
||||
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
$('#new_password1').on('change input', function(){
|
||||
fv.formValidation.revalidateField($('#new_password2'))
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
35
monaem/templates/default/connecter_a.pt
Normal file
35
monaem/templates/default/connecter_a.pt
Normal file
@@ -0,0 +1,35 @@
|
||||
<metal:block use-macro="main_template">
|
||||
|
||||
<div metal:fill-slot="content">
|
||||
<br />
|
||||
<div id="detail" class="col-md-8">
|
||||
|
||||
<form id="connecter_a-form" role="form" action="${url}" method="post">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="matricule">Matricule du compte à prendre en main:</label>
|
||||
<input class="form-control" type="text" id="matricule" name="login" value="" placeholder="Code élève à prendre en main"/>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<input class="btn btn-primary" type="submit" name="form.submitted" value="Se connecter à" />
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
</div> <!-- detail -->
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#connecter_a-form').formValidation();
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
</metal:block>
|
||||
|
||||
37
monaem/templates/default/date_examen.pt
Normal file
37
monaem/templates/default/date_examen.pt
Normal file
@@ -0,0 +1,37 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
|
||||
<br />
|
||||
<div tal:condition="item">
|
||||
<p>Vous êtes convoqué(e) le <b>${item.date}</b> à <b>${item.heure}</b><br />
|
||||
à l'examen ${item.type} du permis de conduire à :</p>
|
||||
<dd>
|
||||
<b>${item.adresse}</b><br />
|
||||
<b>${item.lieu}</b>
|
||||
</dd>
|
||||
|
||||
<br />
|
||||
<div class="alert alert-success" tal:condition="item.resultat">
|
||||
Résultat de l'examen : <b>${item.resultat}</b>
|
||||
<br />
|
||||
</div>
|
||||
<p>
|
||||
<i>Cette convocation est valable sous réserve du réglement total des sommes dûes. En cas d'empêchement, contactez <a href="http://www.marietton.com/contacts.php">votre agence Marietton</a>. Tout candidat qui, sans excuse valable, ne se présente pas au jour et à l'heure fixés pour l'examen, perd le montant du droit qu'il a consigné. Toute inscription non décommandée 10 jours à l'avance sera considérée comme dûe.<br />
|
||||
<br />
|
||||
Le jour de l'examen, vous devrez vous présenter muni(e) des <a href="/faq_view/2757" >élements suivants</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Si pas d'articles (ou erreur SQL...) -->
|
||||
<span tal:condition="not item">
|
||||
<p class="alert alert-warning">Vous n'avez pas de date d'examen prévue.</p>
|
||||
</span>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
</div><!-- content -->
|
||||
</metal:block>
|
||||
|
||||
|
||||
68
monaem/templates/default/doc_edit.pt
Normal file
68
monaem/templates/default/doc_edit.pt
Normal file
@@ -0,0 +1,68 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<h3>${justif.LIBELLE}</h3>
|
||||
<p class="text-danger">${justif.conditions}</p>
|
||||
|
||||
<form id="upload_doc-form" action="${url}" method="post" class="form-horizontal"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="form-group" tal:condition="justif.code == 'PHOTO_ID'">
|
||||
<label class="control-label col-xs-4" for="libelle_fic">Code e-photo</label>
|
||||
<div class="col-xs-8">
|
||||
<input class="form-control" type="text" id="libelle_fic" name="libelle_fic" value="${justif.libelle_fic}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-4" for="intitule">Nom du fichier</label>
|
||||
<div class="col-xs-8">
|
||||
<p>${justif.nom_fic}
|
||||
|
||||
<button class="btn btn-warning" type="submit" name="form.erased"
|
||||
tal:condition="justif.nom_fic and justif.valide == 0">
|
||||
<i class="glyphicon glyphicon-erase"></i> Effacer le fichier</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-4">Taille du fichier</label>
|
||||
<div class="col-xs-8">
|
||||
<p class="form-control-static">${justif.taille_fic} Ko</p>
|
||||
</div>
|
||||
<label class="control-label col-xs-4">Créé par</label>
|
||||
<div class="col-xs-8">
|
||||
<p class="form-control-static">${justif.cd_uti} </p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-offset-4 col-xs-8">
|
||||
<label tal:condition= "justif.valide != 0"><b>Le document est validé</b>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="col-sm-offset-4 col-sm-8">
|
||||
<div class="form-group">
|
||||
<a class="btn btn-default" href="${url_retour}">
|
||||
<span class="glyphicon glyphicon-arrow-left"></span> Retour</a>
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted"
|
||||
tal:condition="justif.valide == 0 and justif.code == 'PHOTO_ID'">
|
||||
<i class="glyphicon glyphicon-pencil"></i> Enregister</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$('#uploadButton').on('click', function(){
|
||||
$('i.gly-spin').removeClass('gly-spin');
|
||||
$('i').addClass('gly-spin');
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
59
monaem/templates/default/doc_upload.pt
Normal file
59
monaem/templates/default/doc_upload.pt
Normal file
@@ -0,0 +1,59 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">
|
||||
<span class="glyphicon glyphicon-plus"></span> ${justif.LIBELLE}
|
||||
</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form id="upload_doc-form" action="${url}" method="post" accept-charset="utf-8" enctype="multipart/form-data"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<p class="text-danger">${justif.conditions}</p>
|
||||
<div class="form-group" tal:condition="justif.code == 'PHOTO_ID'">
|
||||
<label class="control-label" for="libelle_fic">Veuillez saisir un code e-photo :</label>
|
||||
<div>
|
||||
<input class="form-control" type="text" required id="libelle_fic" name="libelle_fic" value="${justif.libelle_fic}"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="Le code est obligatoire" />
|
||||
</div>
|
||||
<br />
|
||||
<p><b>ou bien </b></p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="uploadfile">Veuillez séléctionner un fichier :</label>
|
||||
<span class="btn btn-default btn-file">
|
||||
<input class="file" id="uploadfile" name="uploadfile" type="file" multiple />
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<a class="btn btn-default" href="${url_retour}">
|
||||
<span class="glyphicon glyphicon-arrow-left"></span> Retour</a>
|
||||
<button id="uploadButton" class="btn btn-primary" type="submit" name="form.submitted">
|
||||
<i class="glyphicon glyphicon-refresh"></i> Télécharger</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<ul>
|
||||
<li>Seuls les documents au format <b>PNG, JPG ou JPEG</b> seront acceptés.</li>
|
||||
<li>La taille de chaque document ne doit <b>pas dépasser 4 Mo</b>.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$('#uploadButton').on('click', function(){
|
||||
$('i.gly-spin').removeClass('gly-spin');
|
||||
$('i').addClass('gly-spin');
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
66
monaem/templates/default/email_code.pt
Normal file
66
monaem/templates/default/email_code.pt
Normal file
@@ -0,0 +1,66 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
|
||||
|
||||
<div class="row">
|
||||
|
||||
<form id="email_login-form" action="${url}" method="post" class="form-horizontal"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-4" for="cnrs_id">Votre nom</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="text" id="name" name="name"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="Le nom est obligatoire" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-4" for="cnrs_id">Votre prénom</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="forname" id="forname" name="forname"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="Votre prénom obligatoire" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-4" for="birthday">Date de naissance</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="text" id="birthday" name="birthday" value="" placeholder="jj/mm/aaaa"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="La date de naissance est obligatoire"
|
||||
data-fv-date="true"
|
||||
data-fv-date-format="DD/MM/YYYY"
|
||||
data-fv-date-message="La date de naissance n'est pas valide (JJ/MM/AAAA)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-4 col-sm-8">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted">Envoyer</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
</div><!-- row -->
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#email_login-form').formValidation({
|
||||
excluded: [':disabled'],
|
||||
});
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
61
monaem/templates/default/email_password.pt
Normal file
61
monaem/templates/default/email_password.pt
Normal file
@@ -0,0 +1,61 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
|
||||
|
||||
<div class="row">
|
||||
<form id="email_pwd-form" role="form" action="${url}" method="post" class="form-horizontal"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-4" for="login">Entrez votre code élève</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="text" name="login" placeholder="Le code élève à 6 chiffres"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="Le code élève est obligatoire"
|
||||
data-fv-digits="true"
|
||||
data-fv-digits-message="Le code élève est un nombre à 6 chiffres" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-4" for="date_naissance">Date de naissance</label>
|
||||
<div class="col-sm-8">
|
||||
<input class="form-control" type="text" id="date_naissance" name="date_naissance" value="" placeholder="jj/mm/aaaa"
|
||||
data-fv-notempty="true"
|
||||
data-fv-notempty-message="La date de naissance est obligatoire"
|
||||
data-fv-date="true"
|
||||
data-fv-date-format="DD/MM/YYYY"
|
||||
data-fv-date-message="La date de naissance n'est pas valide (JJ/MM/AAAA)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-4 col-sm-8">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted">
|
||||
<span class="glyphicon glyphicon-send"></span> Envoyer</button>
|
||||
<br>
|
||||
<br>
|
||||
<p>
|
||||
Un lien permettant de redéfinir votre mot de passe vous sera transmis à l'adresse email enregistrée dans votre fiche Elève.
|
||||
</p>
|
||||
<p>
|
||||
<a href="http://www.marietton.com/contact.php" target="_blank">Besoin d'aide ?</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div><!-- row -->
|
||||
<br />
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#email_pwd-form').formValidation();
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
15
monaem/templates/default/faq_view.pt
Normal file
15
monaem/templates/default/faq_view.pt
Normal file
@@ -0,0 +1,15 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<hr>
|
||||
<div tal:replace="structure texte">
|
||||
Page text goes here.
|
||||
</div>
|
||||
<hr>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
92
monaem/templates/default/fiche_inscription.pt
Normal file
92
monaem/templates/default/fiche_inscription.pt
Normal file
@@ -0,0 +1,92 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
|
||||
<br />
|
||||
<!-- Fiche d'inscription -->
|
||||
<br />
|
||||
<div tal:condition="item">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td width="200">Fiche élève No<br /><b><span tal:content="item.CD_CLI" /></b></td>
|
||||
<td width="300">
|
||||
<span tal:content="item.CIVILITE" /> <span tal:content="item.NOMPREN" /><br />
|
||||
<span tal:content="item.NOM_JF" /><br />
|
||||
<span tal:content="item.ADRESSE" /><br />
|
||||
<span tal:content="item.ADRESSE2" /><br />
|
||||
<span tal:content="item.CODEPOST" /> <span tal:content="item.VILLE" /><br />
|
||||
</td>
|
||||
<td valign="bottom">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Tél. fixe<br />
|
||||
Tél. portable<br />
|
||||
Tél. du père<br />
|
||||
Tél. de la mère<br />
|
||||
Email
|
||||
</td>
|
||||
<td>
|
||||
<span tal:content="item.TEL" /><br />
|
||||
<span tal:content="item.TEL2" /><br />
|
||||
<span tal:content="item.TEL3" /><br />
|
||||
<span tal:content="item.TEL4" /><br />
|
||||
<span tal:content="item.email" />
|
||||
</td>
|
||||
<td valign="bottom">
|
||||
<a href="${request.application_url}/changer_coordonnees"
|
||||
class="btn btn-primary" role="button">
|
||||
<span class="glyphicon glyphicon-pencil"></span> Modifier</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Profession<br />
|
||||
Nationalité<br />
|
||||
Date de naissance<br />
|
||||
Lieu de naissance<br />
|
||||
</td>
|
||||
<td>
|
||||
<span tal:content="item.PROFESSION" /><br />
|
||||
<span tal:content="item.NATION" /><br />
|
||||
<span tal:content="item.DATE_NAIS.strftime('%d/%m/%Y')" /><br />
|
||||
<span tal:content="item.LIEU_NAIS" /> - <span tal:content="item.DEPT_NAIS" /> - <span tal:content="item.PAYS_NAIS" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Permis demandé<br />
|
||||
Formule<br />
|
||||
Fin de validité du forfait le<br />
|
||||
Fin de forfait code le<br />
|
||||
</td>
|
||||
<td>
|
||||
<span tal:content="item.PERMIS_DEMANDE" /><br />
|
||||
<span tal:content="item.FORMULE" /><br />
|
||||
<span tal:content="item.fin_contrat_le.strftime('%d/%m/%Y')" /><br />
|
||||
<span tal:condition = "item.fin_forfait_code_le"
|
||||
tal:content="item.fin_forfait_code_le.strftime('%d/%m/%Y')" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
No d'immatriculation<br />
|
||||
Enregistré le<br />
|
||||
</td>
|
||||
<td>
|
||||
<span tal:content="item.DOSSIER_NO" /><br />
|
||||
<span tal:condition = "item.DOSSIER_DATE"
|
||||
tal:content="item.DOSSIER_DATE.strftime('%d/%m/%Y')" /><br />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
</div><!-- content -->
|
||||
</metal:block>
|
||||
|
||||
|
||||
256
monaem/templates/default/home.pt
Normal file
256
monaem/templates/default/home.pt
Normal file
@@ -0,0 +1,256 @@
|
||||
<metal:block use-macro="main_template">
|
||||
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<!-- Mon calendrier -->
|
||||
<!-- L'eleve a-t-il un email ? -->
|
||||
<p tal:condition="not has_email" class="text-danger">
|
||||
Votre adresse email est obligatoire pour le bon réroulement des opérations en ligne. Veuillez le renseigner en allant dans la rubrique <a href="/changer_coordonnees">'Changer mes coordonnées'</a>.
|
||||
</p>
|
||||
<div class="jambotron well">
|
||||
<h4><span class="glyphicon glyphicon-bullhorn"></span> INFOS COVID-19</h4>
|
||||
<p>
|
||||
Pendant toute la durée de la crise sanitaire, informez-vous régulièrement afin de connaitre les dernières informations concernant notre activité.
|
||||
Ces informations sont régulièrement mises à jour sur nos réseaux sociaux, sur marietton.com ou directement en cliquant sur le bouton ci-après.
|
||||
</p>
|
||||
<p class="text-right">
|
||||
<a href="https://www.marietton.com/covid19.php" target="ca_blank"
|
||||
class="btn-sm btn-success" role="button">
|
||||
<span class="glyphicon glyphicon-chevron-right"></span> TOUTES LES INFOS</a>
|
||||
</p>
|
||||
</div>
|
||||
<!-- Prochain rendez-vous -->
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-body">
|
||||
<div tal:condition="hasSuivi" class="row text-center">
|
||||
<div class="col-md-4">
|
||||
<a href="${request.application_url}/carnet_rdv">
|
||||
<span class="glyphicon glyphicon-calendar" style="font-size: 56px"></span>
|
||||
<h4>Gérer mes RdV <span class="badge">${nb_rdv}</span></h4></a>
|
||||
</div>
|
||||
<div class="col-md-4" tal:condition="hasSuivi">
|
||||
<a href="${request.application_url}/show_iframe/suivi">
|
||||
<span class="glyphicon glyphicon-education" style="font-size: 56px"></span>
|
||||
<h4>Suivi pédagogique</h4></a>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<a href="${request.application_url}/show_iframe/videos">
|
||||
<span class="glyphicon glyphicon-facetime-video logo-small" ></span>
|
||||
<h4>Vidéos pédagogiques</h4></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div tal:condition="hasOutilPedago" class="panel panel-info">
|
||||
<div class="panel-body">
|
||||
<div class="row text-center">
|
||||
<div class="col-md-12">
|
||||
<a href="https://pedago.mariettonpro.fr/index.php?${param_suivi}">
|
||||
<span class="glyphicon glyphicon-education" style="font-size: 56px"></span>
|
||||
<h4>Outils pédagogique</h4></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Mon compte -->
|
||||
<h3 tal:condition="hasSuivi"><span class="glyphicon glyphicon-briefcase"></span> Mon compte</h3>
|
||||
<!-- Mon en-cours -->
|
||||
<div tal:condition="hasSuivi" class="jambotron well text-center">
|
||||
<div style="font-size: 18px">
|
||||
Solde au ${today} :
|
||||
<b><span class="text-danger">${remain_to_pay}</b>
|
||||
<a tal:condition="solde" href="${request.application_url}/reglement/CPT/${solde}/1" class="btn btn-primary" role="button">
|
||||
<span class="glyphicon glyphicon-plus"></span>
|
||||
Régler</a> <img tal:condition="solde" src="${request.static_url('monaem:static/img/CB.gif')}" alt="CB logo" />
|
||||
</div>
|
||||
<p> </p>
|
||||
|
||||
<a href="${request.application_url}/crediter" class="btn btn-primary" role="button">
|
||||
<span class="glyphicon glyphicon-plus"></span>
|
||||
Créditer mon compte</a>
|
||||
|
||||
<a href="${request.application_url}/extrait_compte" class="btn btn-success" role="button">
|
||||
<span class="glyphicon glyphicon-eye-open"></span>
|
||||
Voir l'extrait de compte</a>
|
||||
</div>
|
||||
|
||||
|
||||
<h3><span class="glyphicon glyphicon-calendar"></span> Mon calendrier</h3>
|
||||
<!-- Dates de stage -->
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
<h4><span class="glyphicon glyphicon-check"></span> Dates de stage</h4>
|
||||
</div>
|
||||
<div class="panel-body" tal:condition="not stage.debut_en_clair">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<i>Vous n'avez pas de stage prévu. </i>
|
||||
</div>
|
||||
<div class="col-md-6" tal:condition="reservation">
|
||||
<a href="${request.application_url}/stages_reservation"
|
||||
class="btn btn-primary" role="button">
|
||||
<span class="glyphicon glyphicon-plus"></span> Réserver un stage </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body" tal:condition="stage.debut_en_clair">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
Votre stage est prévu<br />
|
||||
du <b>${stage.stage_debut}</b> au <b>${stage.stage_fin}</b><br />
|
||||
à <b>${lieu_stage}</b><br />
|
||||
${debut_en_clair}
|
||||
</div>
|
||||
<div class="col-md-6" tal:condition="diff">
|
||||
<a href="${request.application_url}/stages_dates"
|
||||
class="btn btn-primary" role="button">
|
||||
<span class="glyphicon glyphicon-edit"></span> Modifier les dates </a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- Date d'examen -->
|
||||
<div tal:condition="hasSuivi" class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
<h4><span class="glyphicon glyphicon-blackboard"></span> Date d'examen</h4>
|
||||
</div>
|
||||
<div class="panel-body" tal:condition="not examen">
|
||||
<i>Vous n'avez pas de date d'examen prévue.</i>
|
||||
</div>
|
||||
<div class="panel-body" tal:condition="examen">
|
||||
<div class="col-md-6">
|
||||
Examen <b>${examen.type}</b> <br />
|
||||
le <b>${examen.date}</b> à <b>${examen.heure}</b><br />
|
||||
${examen.adresse} à ${examen.lieu}<br />
|
||||
<br />
|
||||
Résultat de l'examen :
|
||||
<span class="label label-success" tal:condition="examen.resultat == 'BON'">${examen.resultat}</span>
|
||||
<span class="label label-danger" tal:condition="examen.resultat != 'BON'">${examen.resultat}</span>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<a href="${request.application_url}/date_examen"
|
||||
class="btn btn-primary" role="button">
|
||||
<span class="glyphicon glyphicon-chevron-right"></span> Voir la convocation à l'examen</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Mon dossier d'inscription -->
|
||||
<h3><span class="glyphicon glyphicon-list-alt"></span> Mon dossier d'inscription</h3>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
Code élève : <b>${eleve.CD_CLI}</b><br />
|
||||
${eleve.CIVILITE} ${eleve.NOMPREN}<br />
|
||||
${eleve.ADRESSE}<br />
|
||||
<span tal:condition="eleve.ADRESSE2">
|
||||
${eleve.ADRESSE2}<br />
|
||||
</span>
|
||||
${eleve.CODEPOST} ${eleve.VILLE}<br />
|
||||
</td>
|
||||
<td>
|
||||
<a href="${request.application_url}/fiche_inscription"
|
||||
class="btn btn-primary" role="button">
|
||||
<span class="glyphicon glyphicon-chevron-right"></span> Voir la fiche</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Permis demandé<br />
|
||||
Formule<br />
|
||||
Fin de validité du forfait le<br />
|
||||
Fin du forfait code le<br />
|
||||
Fin de validité visite médicale
|
||||
</td>
|
||||
<td>
|
||||
${eleve.PERMIS_DEMANDE}<br />
|
||||
${eleve.FORMULE}<br />
|
||||
<span tal:content="eleve.fin_contrat_le.strftime('%d/%m/%Y')" /><br />
|
||||
<div tal:condition = "eleve.fin_forfait_code_le">
|
||||
<span tal:content="eleve.fin_forfait_code_le.strftime('%d/%m/%Y')" />
|
||||
</div><br />
|
||||
<div tal:condition = "eleve.visite_med_fin_le">
|
||||
<span tal:content="eleve.visite_med_fin_le.strftime('%d/%m/%Y')" />
|
||||
</div><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
No d'immatriculation<br />
|
||||
Enregistré le<br />
|
||||
</td>
|
||||
<td>
|
||||
${eleve.DOSSIER_NO}<br />
|
||||
<div tal:condition = "eleve.DOSSIER_DATE">
|
||||
<span tal:content="eleve.DOSSIER_DATE.strftime('%d/%m/%Y')" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h3>Mes documents</h3>
|
||||
<a href="${request.application_url}/justifs_list"
|
||||
class="btn btn-primary" role="button">
|
||||
<span class="glyphicon glyphicon-chevron-right"></span> Télécharger les documents</a>
|
||||
<br/> <br/>
|
||||
<table class="table table-condensed table-bordered" cellspacing="0" width="100%" tal:condition="docs">
|
||||
<tr tal:repeat="justif docs">
|
||||
<td>${justif.libelle}</td>
|
||||
<td>
|
||||
<a href="${request.application_url}/download/${eleve.CD_CLI}/${justif.nom_fic}"
|
||||
target="popup"
|
||||
onclick="window.open('${request.application_url}/download/${eleve.CD_CLI}/${justif.nom_fic},'popup','width=900,height=768'); return false;">
|
||||
${justif.nom_fic}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td>${justif.taille_fic} Ko</td>
|
||||
<td>${justif.cree_le.strftime('%d/%m/%Y')}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="table table-condensed table-bordered" cellspacing="0" width="100%" tal:condition="justifs">
|
||||
<tr tal:repeat="justif justifs">
|
||||
<td>${justif.libelle}</td>
|
||||
<td tal:condition="not justif.libelle_fic">
|
||||
<a href="${request.application_url}/download/${eleve.CD_CLI}/${justif.nom_fic}"
|
||||
target="popup"
|
||||
onclick="window.open('${request.application_url}/download/${eleve.CD_CLI}/${justif.nom_fic},'popup','width=900,height=768'); return false;">
|
||||
${justif.nom_fic}
|
||||
</a>
|
||||
</td>
|
||||
<td tal:condition="justif.libelle_fic">${justif.libelle_fic}</td>
|
||||
|
||||
<td>${justif.taille_fic} Ko</td>
|
||||
<td>${justif.cree_le.strftime('%d/%m/%Y')}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- FAQ -->
|
||||
<h3><span class="glyphicon glyphicon-question-sign"></span> FAQ</h3>
|
||||
<ul tal:condition="faqs">
|
||||
<tal:repeat tal:repeat="j faqs">
|
||||
<li><a href="/faq_view/${j.faq_id}" >${j.intitule}</a></li>
|
||||
</tal:repeat>
|
||||
</ul>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div metal:fill-slot="additional_scripts">
|
||||
<script type="text/javascript" src="${request.static_url('monaem:static/js/jquery.cookiebar.js')}"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$.cookieBar();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</metal:block>
|
||||
|
||||
51
monaem/templates/default/justifs_list.pt
Normal file
51
monaem/templates/default/justifs_list.pt
Normal file
@@ -0,0 +1,51 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<table class="table table-condensed table-bordered" cellspacing="0" width="100%" tal:condition="justifs_manquant">
|
||||
<tr tal:repeat="justif justifs_manquant">
|
||||
<td tal:condition="justif.valide==0">
|
||||
<b>${justif.libelle}</b>
|
||||
<span tal:condition="justif.conditions"><br />(${justif.conditions})</span>
|
||||
</td>
|
||||
<td tal:condition="justif.valide!=0" class="success"><b>${justif.libelle}</b></td>
|
||||
<td tal:condition="justif.libelle_fic">${justif.libelle_fic}</td>
|
||||
<td tal:condition="not justif.libelle_fic">
|
||||
<a tal:condition="justif.nom_fic" href="${request.application_url}/download/${cd_cli}/${justif.nom_fic}"
|
||||
target="popup"
|
||||
onclick="window.open('${request.application_url}/download/${cd_cli}/${justif.nom_fic},'popup','width=900,height=768'); return false;">
|
||||
${justif.nom_fic}
|
||||
</a>
|
||||
<a tal:condition="not justif.nom_fic" href="${request.application_url}/doc_upload/${justif.no_ligne}/${justif.cd_cli}"> Télécharger</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Justificatifs déjà téléchargés</h2>
|
||||
<table class="table table-condensed table-bordered" cellspacing="0" width="100%" tal:condition="justifs">
|
||||
<tr tal:repeat="justif justifs">
|
||||
<td tal:condition="justif.valide==0">
|
||||
<b>${justif.libelle}
|
||||
</td>
|
||||
<td tal:condition="justif.valide!=0" class="success"><b>${justif.libelle}</b></td>
|
||||
<td tal:condition="justif.libelle_fic">${justif.libelle_fic}</td>
|
||||
<td tal:condition="not justif.libelle_fic">
|
||||
<a tal:condition="justif.nom_fic" href="${request.application_url}/download/${cd_cli}/${justif.nom_fic}"
|
||||
target="popup"
|
||||
onclick="window.open('${request.application_url}/download/${cd_cli}/${justif.nom_fic},'popup','width=900,height=768'); return false;">
|
||||
${justif.nom_fic}
|
||||
</a>
|
||||
<a tal:condition="not justif.nom_fic" href="${request.application_url}/doc_upload/${justif.no_ligne}/${justif.cd_cli}"> Télécharger</a>
|
||||
</td>
|
||||
<td>${justif.taille_fic} Ko</td>
|
||||
<td>${justif.cd_uti}</td>
|
||||
<td tal:condition="justif.valide==0" >
|
||||
<a href="${request.application_url}/doc_edit/${justif.no_ligne}/${justif.cd_cli}">Modifier</a>
|
||||
</td>
|
||||
<td tal:condition="justif.valide!=0" >Validé</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
</metal:block>
|
||||
|
||||
92
monaem/templates/default/login.pt
Normal file
92
monaem/templates/default/login.pt
Normal file
@@ -0,0 +1,92 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="container">
|
||||
<div id="bg" style="background:url('https://monespace.marietton.com/static/img/image-login.jpg');
|
||||
background-repeat:no-repeat;background-size:cover;background-position:center;"></div>
|
||||
<div class="col-md-offset-3 col-md-6 well">
|
||||
|
||||
<div style="font-size:26px; color: #2a6496;" align="center">
|
||||
Mon espace
|
||||
</div>
|
||||
<div style="margin: 0em 0em 2em 0em; " align="center">
|
||||
<a href="https://www.marietton.com/" target="_blank">
|
||||
<img src="${request.static_url('monaem:static/img/logo.png')}" />
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<p class="text-warning" tal:content="message" />
|
||||
</div>
|
||||
|
||||
<form id="login-form" role="form" action="${url}" method="post">
|
||||
|
||||
<input type="hidden" name="came_from" value="${came_from}"/>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label">Mon code élève</label>
|
||||
<input class="form-control" name="login" value="${login}" placeholder="Code élève à 6 chiffres" type="text" />
|
||||
</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">
|
||||
<button id="submitButton" class="btn btn-primary" 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 />
|
||||
<a href="${request.route_url('email_code')}">Code élève oublié ?</a><br />
|
||||
</p>
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div><!-- container -->
|
||||
|
||||
<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 élève est obligatoire'
|
||||
},
|
||||
digits: {
|
||||
message: 'Le code élève est un nombre à 6 chiffres'
|
||||
},
|
||||
}
|
||||
},
|
||||
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();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
16
monaem/templates/default/maintenance.pt
Normal file
16
monaem/templates/default/maintenance.pt
Normal file
@@ -0,0 +1,16 @@
|
||||
<metal:block use-macro="main_template">
|
||||
|
||||
<div metal:fill-slot="content">
|
||||
<div class="text-center">
|
||||
<span class="glyphicon glyphicon-wrench" style="font-size: 56px"></span>
|
||||
<h3>Le site est en maintenance</h3>
|
||||
<p>
|
||||
Il sera de retour dans quelques minutes.<br />
|
||||
Merci pour votre patience<br />
|
||||
</p>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
</div>
|
||||
|
||||
</metal:block>
|
||||
92
monaem/templates/default/member_search.pt
Normal file
92
monaem/templates/default/member_search.pt
Normal file
@@ -0,0 +1,92 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="alert alert-danger" tal:condition="message" tal:content="message" />
|
||||
|
||||
<div class="row">
|
||||
|
||||
<form id="member-search-form" class="form-horizontal" role="form" action="${url}" method="post">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-xs-4 control-label">Nom ou Code de l'élève</label>
|
||||
<div class="col-xs-8">
|
||||
<input type="text" class="form-control" name="name" value="${name}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-xs-offset-4 col-xs-8">
|
||||
<button id="submitButton" class="btn btn-primary" type="submit" name="form.submitted">
|
||||
<span class="glyphicon glyphicon-search"></span> Rechercher</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div><!-- row -->
|
||||
|
||||
<div class="row">
|
||||
<div tal:condition="members">
|
||||
<table class="table table-striped table-bordered">
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Nom, Prénom</th>
|
||||
<th>Permis - Formule</th>
|
||||
<th>Inscrit</th>
|
||||
<th>Statut</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<tr tal:repeat="member members">
|
||||
<td>${member.cd_cli}</td>
|
||||
<td>${member.nompren}</td>
|
||||
<td>${member.permis_demande} - ${member.formule}</td>
|
||||
<td tal:content="member.cree_le.strftime('%d/%m/%Y')" />
|
||||
<td tal:content="member.statut" />
|
||||
<td>
|
||||
<a href="/connecter_a/${member.cd_cli}">
|
||||
<span class="glyphicon glyphicon-log-in"></span> Se connecter</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#member-search-form').formValidation({
|
||||
framework: 'bootstrap',
|
||||
message: 'This value is not valid',
|
||||
icon: {
|
||||
valid: 'glyphicon glyphicon-ok',
|
||||
invalid: 'glyphicon glyphicon-remove',
|
||||
validating: 'glyphicon glyphicon-refresh'
|
||||
},
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Le nom ou le code est obligatoire'
|
||||
},
|
||||
stringLength: {
|
||||
min: 2,
|
||||
max: 30,
|
||||
message: 'Le nom ou le code doit avoir de 2 à 30 caractères de long'
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
$('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();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
70
monaem/templates/default/redefinir_mdp.pt
Normal file
70
monaem/templates/default/redefinir_mdp.pt
Normal file
@@ -0,0 +1,70 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="row">
|
||||
<form id="change-password-form" method="post"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="new_password1">Nouveau mot de passe</label>
|
||||
<input class="form-control" type="password" size="10" name="new_password1" id="new_password1" placeholder="20 caractères maximum" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label" for="new_password2">Confirmer le mot de passe</label>
|
||||
<input class="form-control" type="password" size="10" name="new_password2" id="new_password2" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted">Valider</button>
|
||||
</div>
|
||||
</form>
|
||||
</div> <!-- row -->
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
var fv = $('#change-password-form').formValidation({
|
||||
fields: {
|
||||
new_password1: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Le mot de passe est obligatoire'
|
||||
},
|
||||
stringLength:{
|
||||
min: 8,
|
||||
max: 20,
|
||||
message: "La logueur de mot de passe n'est pas respectée, minimum 8, maximum 12"
|
||||
},
|
||||
regexp: {
|
||||
regexp: /^(?=.*\d)(?=.*[!@#$%^&*\_\-\.\+,;\:\\/§à\]\[\?\{\}])(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$%^&*\_\-\.\+,;\:\\/§à\]\[\?\{\}]{8,}$/,
|
||||
message: 'Le mot de passe doit contenir au minimum une lettre, un nombre,un majuscule, un minuscle, et un caractère speciaux.',
|
||||
}
|
||||
}
|
||||
},
|
||||
new_password2: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Le mot de passe est obligatoire'
|
||||
},
|
||||
callback: {
|
||||
message: 'Le mot de passe et sa confirmation ne sont pas identiques.',
|
||||
callback: function(input) {
|
||||
var new_password1_val = $('#new_password1').val();
|
||||
return new_password1_val == input;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}).data();
|
||||
$('#new_password1').on('change input', function(){
|
||||
fv.formValidation.revalidateField($('#new_password2'))
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
18
monaem/templates/default/show_iframe.pt
Normal file
18
monaem/templates/default/show_iframe.pt
Normal file
@@ -0,0 +1,18 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="content text-center">
|
||||
<br />
|
||||
<br />
|
||||
<span class="glyphicon glyphicon-hourglass" style="font-size: 56px"></span>
|
||||
<p class="lead">Chargement de la fiche en cours, merci de patienter quelques instants...</p>
|
||||
|
||||
<iframe style="position: absolute; top:0px; left:0px; border:none; z-index:10;"
|
||||
src='${iframe_src}' width="100%" height="100%">
|
||||
</iframe>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
75
monaem/templates/default/stage_edit.pt
Normal file
75
monaem/templates/default/stage_edit.pt
Normal file
@@ -0,0 +1,75 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="row">
|
||||
<form id="change-eleve-details-form" class="form-horizontal" action="${url}" method="post" tal:condition="eleve"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
<h4><span class="glyphicon glyphicon-check"></span> <b>Modification dates de stage</b></h4>
|
||||
</div>
|
||||
|
||||
<div class="panel-body" >
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
Je souhaite déplacer mon stage prévu :
|
||||
<b>${stage.stage_debut}</b> au <b>${stage.stage_fin}</b>
|
||||
à <b>${lieu_stage}</b><br />
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="form-group text-align-right">
|
||||
<label class="control-label col-xs-6" for="stage_id">Vers les dates suivantes, conformément a nos CGV:</label>
|
||||
<div class="col-xs-6">
|
||||
<select class="form-control" id="stage_id" name="stage_id">
|
||||
<div tal:repeat="item stages">
|
||||
<option value="${item.stage_id}" tal:attributes="selected stage.stage_debut == item.debut.date() and 'selected' or None">${item.debut.day}/${item.debut.month}/${item.debut.year} au ${item.fin.day}/${item.fin.month}/${item.debut.year} - ${item.lieu}</option>
|
||||
</div>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row align-items-end">
|
||||
<div class="col-xs-4 col-xs-offset-3">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted">
|
||||
<span class="glyphicon glyphicon-ok"></span> Modifier</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div> <!-- row -->
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
function compareDate(input){
|
||||
var today = new Date();
|
||||
var replaced = input.replaceAll('/','-')
|
||||
var mm = moment(replaced,'DD-MM-YYYY',true)
|
||||
if(mm.isValid()){
|
||||
var birthDate = mm.toDate();
|
||||
var age = today.getFullYear() - birthDate.getFullYear();
|
||||
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
$('#representant_infos').hide()
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
78
monaem/templates/default/stages_dates.pt
Normal file
78
monaem/templates/default/stages_dates.pt
Normal file
@@ -0,0 +1,78 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="row">
|
||||
<form id="change-eleve-details-form" class="form-horizontal" action="${url}" method="post" tal:condition="eleve"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12" style="margin:10px;">
|
||||
<h3>Modification dates de stage</h3>
|
||||
<div class="row ">
|
||||
<div class="col-md-12">
|
||||
Je souhaite déplacer mon stage prévu : <br/>
|
||||
<b>${stage.stage_debut}</b> au <b>${stage.stage_fin}</b><br/>
|
||||
à <b>${lieu_stage}</b><br />
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="form-group" style="margin-left:0px;">
|
||||
<label class="pull-left" for="stage_id">Vers les dates suivantes, <br/> conformément a nos <a href="https://monespace.marietton.com/faq_view/${link}">CGV</a>:</label>
|
||||
<div class="col-xs-6" >
|
||||
<select class="form-control" id="stage_id" name="stage_id">
|
||||
<div tal:repeat="item stages">
|
||||
<option value="${item.stage_id}" tal:attributes="selected stage.stage_debut == item.debut.date() and 'selected' or None">${item.debut.day}/${item.debut.month}/${item.debut.year} au ${item.fin.day}/${item.fin.month}/${item.debut.year} - ${item.lieu}</option>
|
||||
</div>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="form-group ">
|
||||
<div class="col-xs-2 pull-left">
|
||||
<a class="btn btn-default" href="${request.route_url('home')}" >
|
||||
<span class="glyphicon glyphicon-chevron-left"></span> Annuler</a>
|
||||
</div>
|
||||
<div class="col-xs-2 pull-left">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted" tal:attributes="disabled len(stages) == 0 and 'disabled' or None" >
|
||||
<span class="glyphicon glyphicon-ok"></span> Modifier</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div> <!-- row -->
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
function compareDate(input){
|
||||
var today = new Date();
|
||||
var replaced = input.replaceAll('/','-')
|
||||
var mm = moment(replaced,'DD-MM-YYYY',true)
|
||||
if(mm.isValid()){
|
||||
var birthDate = mm.toDate();
|
||||
var age = today.getFullYear() - birthDate.getFullYear();
|
||||
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
$('#representant_infos').hide()
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
59
monaem/templates/default/stages_reservation.pt
Normal file
59
monaem/templates/default/stages_reservation.pt
Normal file
@@ -0,0 +1,59 @@
|
||||
<metal:block use-macro="main_template">
|
||||
<div metal:fill-slot="content">
|
||||
|
||||
<div class="row">
|
||||
<form id="change-eleve-details-form" class="form-horizontal" action="${url}" method="post" tal:condition="eleve"
|
||||
data-fv-framework="bootstrap"
|
||||
data-fv-icon-valid="glyphicon glyphicon-ok"
|
||||
data-fv-icon-invalid="glyphicon glyphicon-remove"
|
||||
data-fv-icon-validating="glyphicon glyphicon-refresh">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12" style="margin:10px;">
|
||||
<h3>Réservation dates de stage</h3>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
Je souhaite réserver un stage
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div class="form-group" style="margin-left:0px;">
|
||||
<label class="pull-left" for="stage_id">Vers les dates suivantes, <br/> conformément a nos <a href="https://monespace.marietton.com/faq_view/${link}">CGV</a>:</label>
|
||||
<div class="col-xs-6" >
|
||||
<select class="form-control" id="stage_id" name="stage_id">
|
||||
<div tal:repeat="item stages">
|
||||
<option value="${item.stage_id}" >${item.debut.day}/${item.debut.month}/${item.debut.year} au ${item.fin.day}/${item.fin.month}/${item.debut.year} - ${item.lieu}</option>
|
||||
</div>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="form-group ">
|
||||
<div class="col-xs-2 pull-left">
|
||||
<a class="btn btn-default" href="${request.route_url('home')}" >
|
||||
<span class="glyphicon glyphicon-chevron-left"></span> Annuler</a>
|
||||
</div>
|
||||
<div class="col-xs-2 pull-left">
|
||||
<button class="btn btn-primary" type="submit" name="form.submitted" tal:attributes="disabled len(stages) == 0 and 'disabled' or None" >
|
||||
<span class="glyphicon glyphicon-ok"></span> Réserver</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div> <!-- row -->
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('form input').on('keypress', function(e) {
|
||||
return e.which !== 13;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</metal:block>
|
||||
Reference in New Issue
Block a user