initial upload

This commit is contained in:
2023-06-22 10:26:17 +02:00
parent 14dc417203
commit 11304c5b8a
306 changed files with 83527 additions and 49 deletions

View File

@@ -0,0 +1,340 @@
<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">
<br />
<p>Je minscris au stage de B96 qui aura lieu : <br />
le <b>${stage.debut.strftime("%d-%m-%Y")}</b> à <b>${stage.debut.strftime("%Hh%M")}</b> <br />
à : <b>${stage.lieu1} - ${stage.lieu2}</b>
</p>
<ul class="nav nav-tabs">
<li class="active"><a href="#id-tab" data-toggle="tab">Identification <i class="fa"></i></a></li>
<li tal:condition="etape > 1"><a href="#permis-tab" data-toggle="tab">Votre permis de conduire <i class="fa"></i></a></li>
<li tal:condition="etape > 2"><a href="#resa-tab" data-toggle="tab">Réservation <i class="fa"></i></a></li>
</ul>
<br />
<form id="sinscrire-form" action="${url}" role="form" 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">
<input type="hidden" id="etape" value="${etape}" />
<div class="tab-content">
<div class="tab-pane active" id="id-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="civilite">Civilité</label>
<div class="col-xs-8">
<select class="form-control" id="civilite" name="civilite">
<tal:block tal:repeat="item civilites">
<option value="${item}" tal:attributes="selected item == civilite and 'selected' or None">${item}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom d'usage</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom" name="nom" value="${nom}" placeholder="Votre nom"
data-fv-notempty="true"
data-fv-notempty-message="Le nom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="prenom">Prénom(s)</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="prenom" name="prenom" value="${prenom}"
placeholder="tel(s) quindiqué(s) sur votre pièce didentité"
data-fv-notempty="true"
data-fv-notempty-message="Le prénom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="37"
data-fv-stringlength-message="37 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom_jf" name="nom_jf" value="${nom_jf}" placeholder="si différent du nom d'usage"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="date_nais">Date de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="date_nais" name="date_nais" value="${date_nais}" 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">
<label class="col-xs-4 control-label" for="lieu_nais">Lieu de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="lieu_nais" name="lieu_nais" value="${lieu_nais}"
data-fv-notempty="true"
data-fv-notempty-message="Le lieu de naissance est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="26"
data-fv-stringlength-message="26 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="dept_nais">Département ou pays de naissance</label>
<div class="col-xs-8">
<select class="form-control" id="dept_nais" name="dept_nais">
<tal:block tal:repeat="item dept">
<option value="${item.code}" tal:attributes="selected item.code == dept_nais and 'selected' or None">
${item.code} - ${item.libelle}</option>
</tal:block>
</select>
</div>
</div>
<!-- COORDONNÉES -->
<div class="form-group">
<label class="col-xs-4 control-label" for="adres1">Adresse</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="adres1" name="adres1" value="${adres1}" placeholder="Votre adresse"
data-fv-notempty="true"
data-fv-notempty-message="L'adresse est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="adres2"></label>
<div class="col-xs-8">
<input class="form-control" type="text" id="adres2" name="adres2" value="${adres2}" placeholder="(facultatif)"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="code_postal">Code postal - Ville</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="code_postal" name="code_postal" value="${code_postal}"
placeholder="5 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Le code postal est obligatoire">
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="no_tel">Téléphone portable</label>
<div class="col-xs-6">
<input class="form-control phoneNumber" type="text" id="no_tel" name="no_tel" value="${no_tel}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro de téléphone est obligatoire"
data-fv-phone="true"
data-fv-phone-country="FR"
data-fv-phone-message="Le numéro de téléphone n'est pas vailde" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="mail">Email</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="mail" name="mail" value="${mail}"
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>
<!-- case a cocher "Acceptation des infos" -->
<div class="form-group">
<div class="col-xs-offset-4 col-xs-7">
<input type="checkbox" name="cb_spam" value="cb_spam" id="cb_spam"
tal:attributes="checked cb_spam == 'oui' and 'checked' or None">
J'accepte de recevoir des informations et offres commerciales éventuelles liées à la sécurité routière.</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.next1">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;Suivant</button>
</div>
</div>
</div> <!-- id-tab -->
<div class="tab-pane" id="permis-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="no_permis">Numéro NEPH</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="no_permis" name="no_permis" value="${no_permis}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro NEPH est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="20"
data-fv-stringlength-message="20 caractères maximum" />
<p class="help-block">
Comment trouver mon <a href="/faq_view/2764" target="_blank">numéro NEPH</a> ?</p>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="date_nais">Permis B obtenu le</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="obtenu_le" name="obtenu_le" value="${obtenu_le}" placeholder="JJ/MM/AAAA"
data-fv-notempty="true"
data-fv-notempty-message="La date de délivrance du permis B est obligatoire"
data-fv-date="true"
data-fv-date-format="DD/MM/YYYY"
data-fv-date-message="La date de délivrance du permis n'est pas valide (JJ/MM/AAAA)" />
<p class="help-block">
La date est inscrite au dos de votre permis sur la colonne 10 de la ligne Permis B</p>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="lieu_permis">Lieu d'obtention</label>
<div class="col-xs-8">
<select class="form-control" id="lieu_permis" name="lieu_permis">
<tal:block tal:repeat="item dept">
<option value="${item.libelle}" tal:attributes="selected item.libelle == lieu_permis and 'selected' or None">
${item.code} - ${item.libelle}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<input type="checkbox" name="cb_capital" id="cb_capital">&nbsp;Je confirme que le capital points de mon permis de conduire est au moins égal à 1 point.</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<input type="checkbox" name="cb_b96" id="cb_b96">&nbsp;J'ai pris connaissance du fait que l'attestation B96 me permet de tracter une remorque uniquement dans le cas où le cumul du PTAC du véhicule tracteur et du PTAC de sa remorque est inférieur à 4250 Kg.</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.next2">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;Suivant</button>
</div>
</div>
</div> <!-- permis-tab -->
<div class="tab-pane" id="resa-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="type">Comment avez-vous connu notre site ?</label>
<div class="col-xs-8">
<select class="form-control" id="origine" name="origine">
<tal:block tal:repeat="item origines">
<option value="${item.LIBELLE}" tal:attributes="selected item.LIBELLE == origine and 'selected' or None">${item.LIBELLE}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label">Montant du stage</label>
<div class="col-xs-8">
<p class="form-control-static text-danger"><b>${layout.to_euro(montant)}</b></p>
</div>
</div>
<!-- case a cocher "Acceptation des CGI" -->
<div class="form-group">
<div class="col-xs-offset-4 col-xs-7">
<input type="checkbox" name="cb_cgv" id="cb_cgv" class="styled">
En cochant cette case, je reconnais avoir lu et accepté les <a href="/faq_view/2786" target="_blank">Conditions Générales de Vente ci-après</a>
et je valide mon inscription par mon règlement.
</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-4">
<button class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer et régler l'inscription</button>
</div>
</div>
</div> <!-- resa-tab -->
</div>
<p><br/></p>
</form>
</div>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$(document).ready(function() {
// validate the form
$('#sinscrire-form').formValidation({
framework: 'bootstrap',
fields: {
cb_cgv: {
validators: {
notEmpty: {
message: 'Veuillez accepter les Conditions Générales de Vente pour continuer.'
}
}
},
cb_b96: {
validators: {
notEmpty: {
message: 'Veuillez accepter les conditions concernant les limites du PTAC de la remorque.'
}
}
},
cb_capital: {
validators: {
notEmpty: {
message: 'Un capital de points est requis pour effectuer ce stage.'
}
}
},
}
})
.find('[name="date_nais"], [name="obtenu_le"]').mask('00/00/0000');
if ($("#etape").val() == 2) {
$('ul.nav li a[href="#permis-tab"]').tab('show');
} else {
if ($("#etape").val() == 3) {
$('ul.nav li a[href="#resa-tab"]').tab('show');
} else {
if ($("#etape").val() == 4) {
$('ul.nav li a[href="#confirm-tab"]').tab('show');
}
}
}
$(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
e.preventDefault()
// show next tab on button "next" click
$('ul.nav li a[href="' + $(this).attr('href') + '"]').tab('show');
})
$('#code_postal').autocomplete({
source: function (request, response) {
$.ajax({
url:'/ajax_codepostal',
dataType: 'json',
data: {
recherche: request.term,
},
success: function (data) {
response( data );
},
});
},
minLength: 3,
});
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,242 @@
<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">
<br />
<p>Je minscris au stage de CODE qui aura lieu : <br />
<b>${stage.date1}, ${stage.date2} et ${stage.date3},</b><br />
à : <b>${stage.lieu1}, <br />
${stage.lieu2}, ${stage.lieu3}</b>
</p>
<br />
<form id="sinscrire-form" action="${url}" role="form" 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">
<br />
<div class="form-group">
<label class="col-xs-3 control-label" for="civilite">Civilité</label>
<div class="col-xs-4">
<select class="form-control" id="civilite" name="civilite">
<tal:block tal:repeat="item civilites">
<option value="${item}" tal:attributes="selected item == civilite and 'selected' or None">${item}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="nom">Nom d'usage</label>
<div class="col-xs-9">
<input class="form-control" type="text" id="nom" name="nom" value="${nom}" placeholder="Votre nom"
data-fv-notempty="true"
data-fv-notempty-message="Le nom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="prenom">Prénom(s)</label>
<div class="col-xs-9">
<input class="form-control" type="text" id="prenom" name="prenom" value="${prenom}"
placeholder="tel(s) quindiqué(s) sur votre pièce didentité"
data-fv-notempty="true"
data-fv-notempty-message="Le prénom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="37"
data-fv-stringlength-message="37 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="nom">Nom de naissance</label>
<div class="col-xs-9">
<input class="form-control" type="text" id="nom_jf" name="nom_jf" value="${nom_jf}" placeholder="si différent du nom d'usage"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="date_nais">Date de naissance</label>
<div class="col-xs-7">
<input class="form-control" type="text" id="date_nais" name="date_nais" value="${date_nais}" 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">
<label class="col-xs-3 control-label" for="lieu_nais">Lieu de naissance</label>
<div class="col-xs-9">
<input class="form-control" type="text" id="lieu_nais" name="lieu_nais" value="${lieu_nais}"
data-fv-notempty="true"
data-fv-notempty-message="Le lieu de naissance est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="26"
data-fv-stringlength-message="26 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="dept_nais">Département ou pays de naissance</label>
<div class="col-xs-7">
<input class="form-control" type="text" id="dept_nais" name="dept_nais" value="${dept_nais}" />
</div>
</div>
<!-- COORDONNÉES -->
<div class="form-group">
<label class="col-xs-3 control-label" for="adres1">Adresse</label>
<div class="col-xs-9">
<input class="form-control" type="text" id="adres1" name="adres1" value="${adres1}" placeholder="Votre adresse"
data-fv-notempty="true"
data-fv-notempty-message="L'adresse est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="adres2"></label>
<div class="col-xs-9">
<input class="form-control" type="text" id="adres2" name="adres2" value="${adres2}" placeholder="(facultatif)"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-3" for="code_postal">Code postal - Ville</label>
<div class="col-xs-7">
<input class="form-control" type="text" id="code_postal" name="code_postal" value="${code_postal}"
placeholder="5 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Le code postal est obligatoire">
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="no_tel">Téléphone portable</label>
<div class="col-xs-7">
<input class="form-control phoneNumber" type="text" id="no_tel" name="no_tel" value="${no_tel}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro de téléphone est obligatoire"
data-fv-phone="true"
data-fv-phone-country="FR"
data-fv-phone-message="Le numéro de téléphone n'est pas vailde" />
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="mail">Email</label>
<div class="col-xs-9">
<input class="form-control" type="text" id="mail" name="mail" value="${mail}"
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-4 control-label" for="type">Comment avez-vous connu notre site ?</label>
<div class="col-xs-8">
<select class="form-control" id="origine" name="origine">
<tal:block tal:repeat="item origines">
<option value="${item.LIBELLE}" tal:attributes="selected item.LIBELLE == origine and 'selected' or None">${item.LIBELLE}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label">Montant du stage</label>
<div class="col-xs-4">
<p class="form-control-static text-danger"><b>${layout.to_euro(montant)}</b></p>
</div>
</div>
<!-- case a cocher "Acceptation des infos" -->
<div class="form-group">
<div class="col-xs-offset-1 col-xs-11">
<input type="checkbox" name="cb_spam" value="cb_spam" id="cb_spam"
tal:attributes="checked cb_spam == 'oui' and 'checked' or None">
J'accepte de recevoir des informations et offres commerciales éventuelles liées à la sécurité routière.</input>
</div>
</div>
<!-- case a cocher "Acceptation des CGI" -->
<div class="form-group">
<div class="col-xs-offset-1 col-xs-11">
<input type="checkbox" name="cb_cgv" id="cb_cgv" class="styled">
En cochant cette case, je reconnais avoir lu et accepté les <a href="/faq_view/2766" target="_blank">Conditions Générales de Vente ci-après</a>
et je valide ma réservation par mon règlement.
</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-4">
<button class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer et régler la réservation</button>
</div>
</div>
<p><br/></p>
</form>
</div>
<!-- autocomplete plugin -->
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$(document).ready(function() {
// validate the form
$('#sinscrire-form').formValidation({
framework: 'bootstrap',
fields: {
cb_cgv: {
validators: {
notEmpty: {
message: 'Veuillez accepter les Conditions Générales de Vente pour continuer.'
}
}
},
}
})
.find('[name="date_nais"], [name="obtenu_le"]').mask('00/00/0000');
$('#dept_nais').autocomplete({
source: function (request, response) {
$.ajax({
url:'/ajax_dept_nais',
dataType: 'json',
data: {
recherche: request.term,
},
success: function (data) {
response( data );
},
});
},
minLength: 2,
appendTo: "#sinscrire-form"
});
$('#code_postal').autocomplete({
source: function (request, response) {
$.ajax({
url:'/ajax_codepostal',
dataType: 'json',
data: {
recherche: request.term,
},
success: function (data) {
response( data );
},
});
},
minLength: 3,
});
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,28 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div tal:repeat="item items">
<div class="well">
<h4 class="text-primary">
<span tal:condition="item.type == 'semaine'" class="glyphicon glyphicon-option-horizontal"></span>
<span tal:condition="item.type != 'semaine'" class="glyphicon glyphicon-option-vertical"></span>
&nbsp;${item.jour}
</h4>
${layout.datesCode(item.date)}<br />
Lieu : <b>${item.lieu1}</b><br />
Prix TTC : ${layout.to_euro(tarif)}<br />
<span class="text-danger" tal:condition="item.dispo=='Complet'"><b>${item.dispo}</b></span><br />
<span class="text-success" tal:condition="item.dispo!='Complet'"><b>${item.dispo}</b></span><br />
<br />
&nbsp;&nbsp;<a href="${request.application_url}${url_cde}/${item.stage_id}" class="btn btn-primary" role="button"
tal:condition="item.dispo != 'Complet'">
<span class="glyphicon glyphicon-chevron-pencil"></span>&nbsp;Réserver</a>
</div>
</div>
<br />
<br />
</div><!-- content -->
</metal:block>

View File

@@ -0,0 +1,90 @@
<!-- See "Using ZPT macros in Pyramid" to define macro and use it in html -->
<div metal:define-macro="pap_stats">
<!-- Google Anal -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-16495937-2', 'auto');
ga('send', 'pageview');
</script>
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');
fbq('init', '882636555157751');
fbq('track', "PageView");
fbq('track', 'ViewContent');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=882636555157751&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
<!-- Twitter universal website tag code -->
<script>
!function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);
},s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='//static.ads-twitter.com/uwt.js',
a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');
// Insert Twitter Pixel ID and Standard Event data below
twq('init','nw95q');
twq('track','PageView');
</script>
<!-- End Twitter universal website tag code -->
</div>
<div metal:define-macro="pem_stats">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-16495937-5"></script>
<!-- Event snippet for PEM 125 Vente conversion page -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-942374039/vuR9CNej2X8Ql_mtwQM',
'transaction_id': ''
});
</script>
</div>
<div metal:define-macro="pas_stats">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-16495937-5"></script>
<!-- Event snippet for Passerelle Moto conversion page -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-942374039/oFUaCKPg3H8Ql_mtwQM',
'transaction_id': ''
});
</script>
</div>
<div metal:define-macro="prs_stats">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-16495937-5"></script>
<!-- Event snippet for Pass Rousseau conversion page -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-942374039/Y081CPbW3H8Ql_mtwQM',
'transaction_id': ''
});
</script>
</div>
<div metal:define-macro="b96_stats">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-16495937-5"></script>
<!-- Event snippet for B96 conversion page -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-942374039/M0rTCLbz1aABEJf5rcED',
'transaction_id': ''
});
</script>
</div>

View File

@@ -0,0 +1,470 @@
<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">
<br />
<p>Je minscris au stage de RECUPERATION DE POINTS qui aura lieu : <br />
du <b>${stage.debut.strftime("%d-%m-%Y")}</b> à <b>${stage.debut.strftime("%Hh%M")}</b> au <b>${stage.fin.strftime("%d-%m-%Y")}</b><br />
à : <b>${stage.lieu1} - ${stage.lieu2}</b>
</p>
<ul class="nav nav-tabs">
<li class="active"><a href="#id-tab" data-toggle="tab">Identification <i class="fa"></i></a></li>
<li tal:condition="etape > 1"><a href="#permis-tab" data-toggle="tab">Votre permis de conduire <i class="fa"></i></a></li>
<li tal:condition="etape > 2"><a href="#resa-tab" data-toggle="tab">Réservation <i class="fa"></i></a></li>
</ul>
<br />
<form id="sinscrire-form" action="${url}" role="form" 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">
<input type="hidden" id="etape" value="${etape}" />
<div class="tab-content">
<div class="tab-pane active" id="id-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="civilite">Civilité</label>
<div class="col-xs-8">
<select class="form-control" id="civilite" name="civilite">
<tal:block tal:repeat="item civilites">
<option value="${item}" tal:attributes="selected item == civilite and 'selected' or None">${item}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom d'usage</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom" name="nom" value="${nom}" placeholder="Votre nom"
data-fv-notempty="true"
data-fv-notempty-message="Le nom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="prenom">Prénom(s)</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="prenom" name="prenom" value="${prenom}"
placeholder="tel(s) quindiqué(s) sur votre pièce didentité"
data-fv-notempty="true"
data-fv-notempty-message="Le prénom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="37"
data-fv-stringlength-message="37 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom_jf" name="nom_jf" value="${nom_jf}" placeholder="si différent du nom d'usage"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="date_nais">Date de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="date_nais" name="date_nais" value="${date_nais}" 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">
<label class="col-xs-4 control-label" for="lieu_nais">Lieu de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="lieu_nais" name="lieu_nais" value="${lieu_nais}"
data-fv-notempty="true"
data-fv-notempty-message="Le lieu de naissance est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="26"
data-fv-stringlength-message="26 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="dept_nais">Département ou pays de naissance</label>
<div class="col-xs-8">
<select class="form-control" id="dept_nais" name="dept_nais">
<tal:block tal:repeat="item dept">
<option value="${item.code}" tal:attributes="selected item.code == dept_nais and 'selected' or None">
${item.code} - ${item.libelle}</option>
</tal:block>
</select>
</div>
</div>
<!-- COORDONNÉES -->
<div class="form-group">
<label class="col-xs-4 control-label" for="adres1">Adresse</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="adres1" name="adres1" value="${adres1}" placeholder="Votre adresse"
data-fv-notempty="true"
data-fv-notempty-message="L'adresse est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="adres2"></label>
<div class="col-xs-8">
<input class="form-control" type="text" id="adres2" name="adres2" value="${adres2}" placeholder="(facultatif)"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="code_postal">Code postal - Ville</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="code_postal" name="code_postal" value="${code_postal}"
placeholder="5 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Le code postal est obligatoire">
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="no_tel">Téléphone portable</label>
<div class="col-xs-6">
<input class="form-control phoneNumber" type="text" id="no_tel" name="no_tel" value="${no_tel}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro de téléphone est obligatoire"
data-fv-phone="true"
data-fv-phone-country="FR"
data-fv-phone-message="Le numéro de téléphone n'est pas vailde" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="mail">Email</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="mail" name="mail" value="${mail}"
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>
<!-- case a cocher "Acceptation des infos" -->
<div class="form-group">
<div class="col-xs-offset-4 col-xs-7">
<input type="checkbox" name="cb_spam" value="cb_spam" id="cb_spam"
tal:attributes="checked cb_spam == 'oui' and 'checked' or None">
J'accepte de recevoir des informations et offres commerciales éventuelles liées à la sécurité routière.</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.next1">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;Suivant</button>
</div>
</div>
</div> <!-- id-tab -->
<div class="tab-pane" id="permis-tab">
<br />
<div class="well well-sm">
<ul>
<li>Il est possible deffectuer un stage même si vous êtes en rétention ou suspension de permis, dans ce cas vous trouverez les informations nécessaires sur votre notification de suspension ou votre avis de rétention.</li>
<li>Il est possible deffectuer un stage même si votre solde de point est nul mais uniquement si vous navez pas reçu de « lettre 48SI » notifiant linvalidation du permis </li>
<li>Dans les cas n°1 et n° 2, le stage permet de récupérer jusquà 4 points sur votre permis de conduire, dans la limite du plafond autorisé et sous condition du respect dun an et un jour entre deux stages »</li></ul>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="no_permis">Numéro de permis</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="no_permis" name="no_permis" value="${no_permis}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro de permis est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="20"
data-fv-stringlength-message="20 caractères maximum" />
<p class="help-block">
Comment trouver mon <a href="/faq_view/2764" target="_blank">numéro de permis</a> ?</p>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="date_nais">Délivré (imprimé) le</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="obtenu_le" name="obtenu_le" value="${obtenu_le}" placeholder="JJ/MM/AAAA"
data-fv-notempty="true"
data-fv-notempty-message="La date de délivrance du permis est obligatoire"
data-fv-date="true"
data-fv-date-format="DD/MM/YYYY"
data-fv-date-message="La date de délivrance du permis n'est pas valide (JJ/MM/AAAA)" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="lieu_permis">Préfecture de délivrance</label>
<div class="col-xs-8">
<select class="form-control" id="lieu_permis" name="lieu_permis">
<tal:block tal:repeat="item dept">
<option value="${item.libelle}" tal:attributes="selected item.libelle == lieu_permis and 'selected' or None">
${item.code} - ${item.libelle}</option>
</tal:block>
</select>
</div>
</div>
<h3>Mon stage</h3>
<!-- Type de stage -->
<div class="form-group">
<div class="col-xs-offset-1 col-xs-8S">
<!-- *** CAS 1 *** -->
<div class="radio">
<label>
<input type="radio" name="type_stage" value="CAS-1"
tal:attributes="checked type_stage == 'CAS-1' and 'checked' or None"/>
<strong>Stage volontaire de récupération de points, cas n°1</strong>
</label>
<div id="CAS-1" class="type-stage-panel ">
<p>destiné aux conducteurs désirant retrouver le bénéfice de points suite à la perte de ceux-ci à l'occasion d'infractions (art. L. 223-6, alinéa 2, et R. 223-8 du code la route).</p>
<div class="form-group">
<input type="checkbox" name="cb_cas1" id="cb_cas1" checked >&nbsp;J'atteste ne pas avoir participé à un stage volontaire au cours des douze derniers mois.</input>
</div>
</div>
</div>
<!-- *** CAS 2 *** -->
<div class="radio">
<label>
<input type="radio" name="type_stage" value="CAS-2"
tal:attributes="checked type_stage == 'CAS-2' and 'checked' or None" />
<strong>Stage obligatoire suite à la réception de la lettre 48N, cas n°2</strong>
</label>
<div id="CAS-2" class="type-stage-panel">
<p>destiné aux conducteurs qui ont commis pendant le délai probatoire une infraction ayant donné lieu à une perte d'au moins trois points (art. L 223-6 et R. 223-4 du code de la route). </p>
<div class="form-group">
<input type="checkbox" name="cb_cas2" id="cb_cas2" checked >&nbsp;Je souhaite faire un stage suite à la réception de la lettre 48N.</input>
</div>
<p>Veuillez renseigner les informations figurant sur votre lettre 48N que je dois apporter lors du stage :</p>
<div class="form-group">
<div class="col-xs-6">
<input class="form-control" type="text" id="infraction_lieu" name="infraction_lieu" value="${infraction_lieu}"
placeholder="Lieu de l'infraction"
data-fv-notempty="true"
data-fv-notempty-message="Le lieu d'infraction est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="30 caractères maximum" />
</div>
<div class="col-xs-3">
<input class="form-control" type="text" id="infraction_le" name="infraction_le" value="${infraction_le}"
placeholder="Date de l'infraction JJ/MM/AAAA"
data-fv-date="true"
data-fv-date-format="DD/MM/YYYY"
data-fv-date-message="La date de l'infraction n'est pas valide (JJ/MM/AAAA)" />
</div>
<div class="col-xs-3">
<input class="form-control" type="text" id="infraction_a" name="infraction_a" value="${infraction_a}"
placeholder="Heure au format 00:00"
data-fv-regexp="true"
data-fv-regexp-regexp="^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$"
data-fv-regexp-message="L'heure de l'infraction doit au format 00:00" />
</div>
</div>
</div>
</div>
<!-- *** CAS 3 *** -->
<div class="radio">
<label>
<input type="radio" name="type_stage" value="CAS-3"
tal:attributes="checked type_stage == 'CAS-3' and 'checked' or None" />
<strong>Stage obligatoire d'alternative aux poursuites, cas n°3</strong>
</label>
<div id="CAS-3" class="type-stage-panel">
<p>proposé par le Procureur de la République ou en exécution d'une composition pénale (2° de l'article 41-1 et 5° de l'article 41-2 du code de procédure pénale).</p>
<div class="form-group">
<input type="checkbox" name="cb_cas3" id="cb_cas3" checked>&nbsp;Je souhaite faire un stage dans le cadre d'une peine complémentaire.</input>
</div>
</div>
</div>
<!-- *** CAS 4 *** -->
<div class="radio">
<label>
<input type="radio" name="type_stage" value="CAS-4"
tal:attributes="checked type_stage == 'CAS-4' and 'checked' or None" />
<strong>Stage obligatoire dans le cadre d'une peine complémentaire, cas n°4</strong>
</label>
<div id="CAS-4" class="type-stage-panel">
<p>ou obligation imposée dans le cadre du sursis avec mise à l'épreuve (art. 131-35-1 et R. 132-45 du codé pénal)</p>
<div class="form-group">
<input type="checkbox" name="cb_cas4" id="cb_cas4" checked>&nbsp;Je souhaite faire un stage dans le cadre d'une peine complémentaire.</input>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-1 col-xs-4">
<button class="btn btn-primary" type="submit" name="form.next2">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;Suivant</button>
</div>
</div>
</div> <!-- permis-tab -->
<div class="tab-pane" id="resa-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="type">Comment avez-vous connu notre site ?</label>
<div class="col-xs-8">
<select class="form-control" id="origine" name="origine">
<tal:block tal:repeat="item origines">
<option value="${item.LIBELLE}" tal:attributes="selected item.LIBELLE == origine and 'selected' or None">${item.LIBELLE}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label">Montant du stage</label>
<div class="col-xs-8">
<p class="form-control-static text-danger"><b>${layout.to_euro(montant)}</b></p>
</div>
</div>
<!-- case a cocher "Acceptation des CGI" -->
<div class="form-group">
<div class="col-xs-offset-4 col-xs-7">
<div class="checkbox">
<input type="checkbox" name="cb_cgv" id="cb_cgv" class="styled">
En cochant cette case, je reconnais avoir lu et accepté les <a href="/faq_view/2763" target="_blank">Conditions Générales de Vente ci-après</a>
et je valide mon inscription par mon règlement.
</input>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-4">
<button class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer et régler l'inscription</button>
</div>
</div>
</div> <!-- resa-tab -->
</div>
<p><br/></p>
</form>
</div>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$(document).ready(function() {
// validate the form
$('#sinscrire-form').formValidation({
framework: 'bootstrap',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
cb_cgv: {
validators: {
notEmpty: {
message: 'Veuillez accepter les Conditions Générales de Vente pour continuer.'
}
}
},
type_stage: {
validators: {
notEmpty: {
message: 'Veuillez sélectionner un CAS de stage.'
}
}
},
cb_cas1: {
validators: {
notEmpty: {
message: 'Veuillez confirmer votre sélection en cochant cette case.'
}
}
},
cb_cas2: {
validators: {
notEmpty: {
message: 'Veuillez confirmer votre sélection en cochant cette case.'
}
}
},
cb_cas3: {
validators: {
notEmpty: {
message: 'Veuillez confirmer votre sélection en cochant cette case.'
}
}
},
cb_cas4: {
validators: {
notEmpty: {
message: 'Veuillez confirmer votre sélection en cochant cette case.'
}
}
},
}
})
.find('[name="date_nais"], [name="obtenu_le"]').mask('00/00/0000');
if ($("#etape").val() == 2) {
$('ul.nav li a[href="#permis-tab"]').tab('show');
} else {
if ($("#etape").val() == 3) {
$('ul.nav li a[href="#resa-tab"]').tab('show');
} else {
if ($("#etape").val() == 4) {
$('ul.nav li a[href="#confirm-tab"]').tab('show');
}
}
}
$("input[name=type_stage]").change(function() {
var cas = $(this).val();
$(".type-stage-panel").hide();
$("#"+cas).show();
});
$(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
e.preventDefault()
// show next tab on button "next" click
$('ul.nav li a[href="' + $(this).attr('href') + '"]').tab('show');
})
$('#code_postal').autocomplete({
source: function (request, response) {
$.ajax({
url:'/ajax_codepostal',
dataType: 'json',
data: {
recherche: request.term,
},
success: function (data) {
response( data );
},
});
},
minLength: 3,
});
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,371 @@
<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">
<div class="col-md-6">
<p>
Je minscris au stage de PASSERELLE A2 vers A qui aura lieu : <br />
le <b>${stage.debut.strftime("%d-%m-%Y")}</b> à <b>${stage.debut.strftime("%Hh%M")}</b> <br />
à : <b>${stage.lieu1} - ${stage.lieu2}</b>
</p>
</div>
<div class="col-md-6 alert alert-danger">
<p>
<b>A cause de la crise sanitaire, nous ne pouvons plus réaliser de prêt de casque ou de gants pour les motards</b>
</p>
</div>
</div>
<div class="row">
<ul class="nav nav-tabs">
<li class="active"><a href="#id-tab" data-toggle="tab">Identification <i class="fa"></i></a></li>
<li tal:condition="etape > 1"><a href="#permis-tab" data-toggle="tab">Votre permis de conduire <i class="fa"></i></a></li>
<li tal:condition="etape > 2"><a href="#resa-tab" data-toggle="tab">Réservation <i class="fa"></i></a></li>
</ul>
<br />
<form id="sinscrire-form" action="${url}" role="form" 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">
<input type="hidden" id="etape" value="${etape}" />
<div class="tab-content">
<div class="tab-pane active" id="id-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="civilite">Civilité</label>
<div class="col-xs-8">
<select class="form-control" id="civilite" name="civilite">
<tal:block tal:repeat="item civilites">
<option value="${item}" tal:attributes="selected item == civilite and 'selected' or None">${item}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom d'usage</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom" name="nom" value="${nom}" placeholder="Votre nom"
data-fv-notempty="true"
data-fv-notempty-message="Le nom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="prenom">Prénom(s)</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="prenom" name="prenom" value="${prenom}"
placeholder="tel(s) quindiqué(s) sur votre pièce didentité"
data-fv-notempty="true"
data-fv-notempty-message="Le prénom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="37"
data-fv-stringlength-message="37 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom_jf" name="nom_jf" value="${nom_jf}" placeholder="si différent du nom d'usage"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="date_nais">Date de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="date_nais" name="date_nais" value="${date_nais}" 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">
<label class="col-xs-4 control-label" for="lieu_nais">Lieu de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="lieu_nais" name="lieu_nais" value="${lieu_nais}"
data-fv-notempty="true"
data-fv-notempty-message="Le lieu de naissance est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="26"
data-fv-stringlength-message="26 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="dept_nais">Département ou pays de naissance</label>
<div class="col-xs-8">
<select class="form-control" id="dept_nais" name="dept_nais">
<tal:block tal:repeat="item dept">
<option value="${item.code}" tal:attributes="selected item.code == dept_nais and 'selected' or None">
${item.code} - ${item.libelle}</option>
</tal:block>
</select>
</div>
</div>
<!-- COORDONNÉES -->
<div class="form-group">
<label class="col-xs-4 control-label" for="adres1">Adresse</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="adres1" name="adres1" value="${adres1}" placeholder="Votre adresse"
data-fv-notempty="true"
data-fv-notempty-message="L'adresse est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="adres2"></label>
<div class="col-xs-8">
<input class="form-control" type="text" id="adres2" name="adres2" value="${adres2}" placeholder="(facultatif)"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="code_postal">Code postal - Ville</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="code_postal" name="code_postal" value="${code_postal}"
placeholder="5 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Le code postal est obligatoire">
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="no_tel">Téléphone portable</label>
<div class="col-xs-6">
<input class="form-control phoneNumber" type="text" id="no_tel" name="no_tel" value="${no_tel}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro de téléphone est obligatoire"
data-fv-phone="true"
data-fv-phone-country="FR"
data-fv-phone-message="Le numéro de téléphone n'est pas vailde" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="mail">Email</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="mail" name="mail" value="${mail}"
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>
<!-- case a cocher "Acceptation des infos" -->
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<input type="checkbox" name="cb_spam" value="cb_spam" id="cb_spam"
tal:attributes="checked cb_spam == 'oui' and 'checked' or None">
J'accepte de recevoir des informations et offres commerciales éventuelles liées à la sécurité routière.</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.next1">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;Suivant</button>
</div>
</div>
</div> <!-- id-tab -->
<div class="tab-pane" id="permis-tab">
<br />
<div class="form-group">
<label class="col-xs-3 control-label" for="no_permis">Numéro NEPH</label>
<div class="col-xs-9">
<input class="form-control" type="text" id="no_permis" name="no_permis" value="${no_permis}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro NEPH est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="20"
data-fv-stringlength-message="20 caractères maximum" />
<p class="help-block">
Comment trouver mon <a href="/faq_view/2764" target="_blank">numéro NEPH </a> ?</p>
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="date_nais">Permis A2 obtenu le</label>
<div class="col-xs-9">
<input class="form-control" type="text" id="obtenu_le" name="obtenu_le" value="${obtenu_le}" placeholder="JJ/MM/AAAA"
data-fv-notempty="true"
data-fv-notempty-message="La date de délivrance du permis est obligatoire"
data-fv-date="true"
data-fv-date-format="DD/MM/YYYY"
data-fv-date-message="La date de délivrance du permis n'est pas valide (JJ/MM/AAAA)" />
<p class="help-block">
La date est inscrite au dos de votre permis sur la colonne 10 de la ligne Moto A2</p>
</div>
</div>
<div class="form-group">
<label class="col-xs-3 control-label" for="lieu_permis">Lieu d'obtention</label>
<div class="col-xs-9">
<select class="form-control" id="lieu_permis" name="lieu_permis">
<tal:block tal:repeat="item dept">
<option value="${item.libelle}" tal:attributes="selected item.libelle == lieu_permis and 'selected' or None">
${item.code} - ${item.libelle}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-3 col-xs-9">
<input type="checkbox" name="cb_permisA2" id="cb_permisA2" checked="checked">&nbsp;Jatteste avoir un permis de conduire de catégorie A2 depuis au moins 2 ans au jour de la formation (possibilité de réaliser la formation 3 mois avant ce délai) et je dois lapporter pour pouvoir suivre la formation </input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-3 col-xs-9">
<input type="checkbox" name="cb_capital" id="cb_capital" checked="checked">&nbsp;Je confirme que le capital points de mon permis de conduire est au moins égal à 1 point.</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-3 col-xs-9">
<button class="btn btn-primary" type="submit" name="form.next2">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;Suivant</button>
</div>
</div>
</div> <!-- permis-tab -->
<div class="tab-pane" id="resa-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="type">Comment avez-vous connu notre site ?</label>
<div class="col-xs-8">
<select class="form-control" id="origine" name="origine">
<tal:block tal:repeat="item origines">
<option value="${item.LIBELLE}" tal:attributes="selected item.LIBELLE == origine and 'selected' or None">${item.LIBELLE}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label">Montant du stage</label>
<div class="col-xs-8">
<p class="form-control-static text-danger"><b>${layout.to_euro(montant)}</b></p>
</div>
</div>
<p>
IMPORTANT : Au cours de cette formation proposée, vous serez amené à manœuvrer et conduire une motocyclette seul(e) sans moniteur derrière vous, avec les risques et périls liés à la conduite dun véhicule 2 roues.
Aussi, si la moto école est assurée pour elle-même et ses élèves contre les dommages causés aux tiers (responsabilité civile), l'élève lui, lorsqu'il chute en cours de formation ou d'examen, n'est pas assuré pour les dommages corporels subis (car il est responsable de ses propres erreurs Cf art.4 - Loi du 5 juillet 1985). Les protections habituelles (Sécurité Sociale + Mutuelles) peuvent alors savérer insuffisantes, notamment en cas d'invalidité. Lélève a la possibilité de souscrire un contrat individuel afin daccroître sa protection.
Voir par exemple <a href=" http://www.kick-off.amv.fr/html/amv_kickoff.asp" target="_blank">le contrat proposé par AMV</a>. En acceptant les conditions générales de ventes, vous reconnaissez avoir reçu toute linformation nécessaire à votre appréciation sur les conditions de formation et dassurance.
</p>
<!-- case a cocher "Acceptation des CGI" -->
<div class="form-group">
<div class="col-xs-offset-1 col-xs-11">
<input type="checkbox" name="cb_cgv" id="cb_cgv" class="styled">
En cochant cette case, je reconnais avoir lu et accepté les <a href="/faq_view/2766" target="_blank">Conditions Générales de Vente ci-après</a>
et je valide mon inscription par mon règlement.
</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer et régler l'inscription</button>
</div>
</div>
</div> <!-- resa-tab -->
</div>
<p><br/></p>
</form>
</div>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$(document).ready(function() {
// validate the form
$('#sinscrire-form').formValidation({
framework: 'bootstrap',
fields: {
cb_cgv: {
validators: {
notEmpty: {
message: 'Veuillez accepter les Conditions Générales de Vente pour continuer.'
}
}
},
cb_permisA2: {
validators: {
notEmpty: {
message: 'Un permis A2 valable est requis pour effectuer ce stage.'
}
}
},
cb_capital: {
validators: {
notEmpty: {
message: 'Un capital de points est requis pour effectuer ce stage.'
}
}
},
}
})
.find('[name="date_nais"], [name="obtenu_le"]').mask('00/00/0000');
if ($("#etape").val() == 2) {
$('ul.nav li a[href="#permis-tab"]').tab('show');
} else {
if ($("#etape").val() == 3) {
$('ul.nav li a[href="#resa-tab"]').tab('show');
} else {
if ($("#etape").val() == 4) {
$('ul.nav li a[href="#confirm-tab"]').tab('show');
}
}
}
$(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
e.preventDefault()
// show next tab on button "next" click
$('ul.nav li a[href="' + $(this).attr('href') + '"]').tab('show');
})
$('#code_postal').autocomplete({
source: function (request, response) {
$.ajax({
url:'/ajax_codepostal',
dataType: 'json',
data: {
recherche: request.term,
},
success: function (data) {
response( data );
},
});
},
minLength: 3,
});
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,163 @@
<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">
<br />
<p>Je minscris au <b>PASS ROUSSEAU</b> pour un montant de <b>${layout.to_euro(montant)}</b>.</p>
<br />
<form id="sinscrire-form" action="${url}" role="form" 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="col-xs-4 control-label" for="civilite">Civilité</label>
<div class="col-xs-8">
<select class="form-control" id="civilite" name="civilite">
<tal:block tal:repeat="item civilites">
<option value="${item}" tal:attributes="selected item == civilite and 'selected' or None">${item}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom" name="nom" value="${nom}" placeholder="Votre nom"
data-fv-notempty="true"
data-fv-notempty-message="Le nom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="prenom">Prénom(s)</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="prenom" name="prenom" value="${prenom}"
placeholder="tel(s) quindiqué(s) sur votre pièce didentité"
data-fv-notempty="true"
data-fv-notempty-message="Le prénom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="37"
data-fv-stringlength-message="37 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="date_nais">Date de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="date_nais" name="date_nais" value="${date_nais}" 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">
<label class="col-xs-4 control-label" for="codpost">Code postal</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="codpost" name="codpost" value="${codpost}"
data-fv-notempty="true"
data-fv-notempty-message="Le code postal est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="5"
data-fv-stringlength-message="5 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="no_tel_dom">Téléphone</label>
<div class="col-xs-8">
<input class="form-control phoneNumber" type="text" id="no_tel_dom" name="no_tel_dom" value="${no_tel_dom}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro de téléphone est obligatoire"
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-4 control-label" for="mail">Email</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="mail" name="mail" value="${mail}"
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-4 control-label" for="permis_demande">Permis souhaité</label>
<div class="col-xs-8">
<select class="form-control" id="permis_demande" name="permis_demande">
<tal:block tal:repeat="item permis">
<option value="${item.CAT}" tal:attributes="selected item.CAT == permis_demande and 'selected' or None">${item.CAT} | ${item.LIB}</option>
</tal:block>
</select>
</div>
</div>
<!-- case a cocher "Acceptation des infos" -->
<div class="form-group">
<div class="col-xs-offset-1 col-xs-7">
<div class="checkbox">
<input type="checkbox" name="cb_spam" value="cb_spam" id="cb_spam"
tal:attributes="checked cb_spam == 'oui' and 'checked' or None">
J'accepte de recevoir des informations et offres commerciales éventuelles liées à la sécurité routière.</input>
</div>
</div>
</div>
<!-- case a cocher "Acceptation des CGI" -->
<div class="form-group">
<div class="col-xs-offset-1 col-xs-11">
<div class="checkbox">
<input type="checkbox" name="cb_cgv" id="cb_cgv" class="styled">
En cochant cette case, je reconnais avoir lu et accepté les <a href="/faq_view/2765" target="_blank">Conditions Générales de Vente ci-après</a>
et je valide mon inscription par mon règlement.
</input>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer et régler l'inscription</button>
</div>
</div>
</form>
<br />
</div>
<script>
$(document).ready(function() {
// validate the form
$('#sinscrire-form').formValidation({
framework: 'bootstrap',
fields: {
cb_cgv: {
validators: {
notEmpty: {
message: 'Veuillez accepter les Conditions Générales de Vente pour continuer.'
}
}
},
}
})
.find('[name="date_nais"]').mask('00/00/0000');
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,374 @@
<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">
<div class="col-md-6">
<p>
Je minscris au stage de PRISE EN MAIN 125 qui aura lieu : <br />
le <b>${stage.debut.strftime("%d-%m-%Y")}</b> à <b>${stage.debut.strftime("%Hh%M")}</b> <br />
à : <b>${stage.lieu1} - ${stage.lieu2}</b>
</p>
</div>
<div class="col-md-6 alert alert-danger">
<p>
<b>A cause de la crise sanitaire, nous ne pouvons plus réaliser de prêt de casque ou de gants pour les motards</b>
</p>
</div>
</div>
<div class="row">
<ul class="nav nav-tabs">
<li class="active"><a href="#id-tab" data-toggle="tab">Identification <i class="fa"></i></a></li>
<li tal:condition="etape > 1"><a href="#permis-tab" data-toggle="tab">Votre permis de conduire <i class="fa"></i></a></li>
<li tal:condition="etape > 2"><a href="#resa-tab" data-toggle="tab">Réservation <i class="fa"></i></a></li>
</ul>
<br />
<form id="sinscrire-form" action="${url}" role="form" 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">
<input type="hidden" id="etape" value="${etape}" />
<div class="tab-content">
<div class="tab-pane active" id="id-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="civilite">Civilité</label>
<div class="col-xs-8">
<select class="form-control" id="civilite" name="civilite">
<tal:block tal:repeat="item civilites">
<option value="${item}" tal:attributes="selected item == civilite and 'selected' or None">${item}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom d'usage</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom" name="nom" value="${nom}" placeholder="Votre nom"
data-fv-notempty="true"
data-fv-notempty-message="Le nom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="prenom">Prénom(s)</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="prenom" name="prenom" value="${prenom}"
placeholder="tel(s) quindiqué(s) sur votre pièce didentité"
data-fv-notempty="true"
data-fv-notempty-message="Le prénom est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="37"
data-fv-stringlength-message="37 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="nom">Nom de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nom_jf" name="nom_jf" value="${nom_jf}" placeholder="si différent du nom d'usage"
data-fv-stringlength="true"
data-fv-stringlength-max="30"
data-fv-stringlength-message="34 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="date_nais">Date de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="date_nais" name="date_nais" value="${date_nais}" 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">
<label class="col-xs-4 control-label" for="lieu_nais">Lieu de naissance</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="lieu_nais" name="lieu_nais" value="${lieu_nais}"
data-fv-notempty="true"
data-fv-notempty-message="Le lieu de naissance est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="26"
data-fv-stringlength-message="26 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="dept_nais">Département ou pays de naissance</label>
<div class="col-xs-8">
<select class="form-control" id="dept_nais" name="dept_nais">
<tal:block tal:repeat="item dept">
<option value="${item.code}" tal:attributes="selected item.code == dept_nais and 'selected' or None">
${item.code} - ${item.libelle}</option>
</tal:block>
</select>
</div>
</div>
<!-- COORDONNÉES -->
<div class="form-group">
<label class="col-xs-4 control-label" for="adres1">Adresse</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="adres1" name="adres1" value="${adres1}" placeholder="Votre adresse"
data-fv-notempty="true"
data-fv-notempty-message="L'adresse est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="adres2"></label>
<div class="col-xs-8">
<input class="form-control" type="text" id="adres2" name="adres2" value="${adres2}" placeholder="(facultatif)"
data-fv-stringlength="true"
data-fv-stringlength-max="40"
data-fv-stringlength-message="40 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="code_postal">Code postal - Ville</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="code_postal" name="code_postal" value="${code_postal}"
placeholder="5 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Le code postal est obligatoire">
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="no_tel">Téléphone portable</label>
<div class="col-xs-6">
<input class="form-control phoneNumber" type="text" id="no_tel" name="no_tel" value="${no_tel}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro de téléphone est obligatoire"
data-fv-phone="true"
data-fv-phone-country="FR"
data-fv-phone-message="Le numéro de téléphone n'est pas vailde" />
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="mail">Email</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="mail" name="mail" value="${mail}"
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>
<!-- case a cocher "Acceptation des infos" -->
<div class="form-group">
<div class="col-xs-offset-3 col-xs-7">
<div class="checkbox">
<input type="checkbox" name="cb_spam" value="cb_spam" id="cb_spam"
tal:attributes="checked cb_spam == 'oui' and 'checked' or None">
J'accepte de recevoir des informations et offres commerciales éventuelles liées à la sécurité routière.</input>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.next1">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;Suivant</button>
</div>
</div>
</div> <!-- id-tab -->
<div class="tab-pane" id="permis-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="no_permis">Numéro NEPH</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="no_permis" name="no_permis" value="${no_permis}"
data-fv-notempty="true"
data-fv-notempty-message="Le numéro NEPH est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="20"
data-fv-stringlength-message="20 caractères maximum" />
<p class="help-block">
Comment trouver mon <a href="/faq_view/2764" target="_blank">numéro NEPH</a> ?</p>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="date_nais">Permis B obtenu le</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="obtenu_le" name="obtenu_le" value="${obtenu_le}" placeholder="JJ/MM/AAAA"
data-fv-notempty="true"
data-fv-notempty-message="La date de délivrance du permis B est obligatoire"
data-fv-date="true"
data-fv-date-format="DD/MM/YYYY"
data-fv-date-message="La date de délivrance du permis n'est pas valide (JJ/MM/AAAA)" />
<p class="help-block">
La date est inscrite au dos de votre permis sur la colonne 10 de la ligne Permis B</p>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label" for="lieu_permis">Lieu d'obtention</label>
<div class="col-xs-8">
<select class="form-control" id="lieu_permis" name="lieu_permis">
<tal:block tal:repeat="item dept">
<option value="${item.libelle}" tal:attributes="selected item.libelle == lieu_permis and 'selected' or None">
${item.code} - ${item.libelle}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<input type="checkbox" name="cb_permisB" id="cb_permisB" checked="checked">
&nbsp;Jatteste avoir un permis de conduire français de catégorie B depuis au moins 2 ans au jour de la formation (possibilité de réaliser la formation 1 mois avant ce délai) et je dois lapporter pour pouvoir suivre la formation.</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<input type="checkbox" name="cb_capital" id="cb_capital" checked="checked">
&nbsp;Je confirme que le capital points de mon permis de conduire est au moins égal à 1 point.</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.next2">
<span class="glyphicon glyphicon-chevron-right"></span>&nbsp;Suivant</button>
</div>
</div>
</div> <!-- permis-tab -->
<div class="tab-pane" id="resa-tab">
<br />
<div class="form-group">
<label class="col-xs-4 control-label" for="type">Comment avez-vous connu notre site ?</label>
<div class="col-xs-8">
<select class="form-control" id="origine" name="origine">
<tal:block tal:repeat="item origines">
<option value="${item.LIBELLE}" tal:attributes="selected item.LIBELLE == origine and 'selected' or None">${item.LIBELLE}</option>
</tal:block>
</select>
</div>
</div>
<div class="form-group">
<label class="col-xs-4 control-label">Montant du stage</label>
<div class="col-xs-6">
<p class="form-control-static text-danger"><b>${layout.to_euro(montant)}</b></p>
</div>
</div>
<p>
IMPORTANT : Au cours de cette formation proposée, vous serez amené à manœuvrer et conduire une motocyclette seul(e) sans moniteur derrière vous, avec les risques et périls liés à la conduite dun véhicule 2 roues.
Aussi, si la moto école est assurée pour elle-même et ses élèves contre les dommages causés aux tiers (responsabilité civile), l'élève lui, lorsqu'il chute en cours de formation ou d'examen, n'est pas assuré pour les dommages corporels subis (car il est responsable de ses propres erreurs Cf art.4 - Loi du 5 juillet 1985). Les protections habituelles (Sécurité Sociale + Mutuelles) peuvent alors savérer insuffisantes, notamment en cas d'invalidité. Lélève a la possibilité de souscrire un contrat individuel afin daccroître sa protection.
Voir par exemple <a href=" http://www.kick-off.amv.fr/html/amv_kickoff.asp" target="_blank">le contrat proposé par AMV</a>. En acceptant les conditions générales de ventes, vous reconnaissez avoir reçu toute linformation nécessaire à votre appréciation sur les conditions de formation et dassurance.
</p>
<!-- case a cocher "Acceptation des CGI" -->
<div class="form-group">
<div class="col-xs-offset-1 col-xs-11">
<input type="checkbox" name="cb_cgv" id="cb_cgv" class="styled">
En cochant cette case, je reconnais avoir lu et accepté les <a href="/faq_view/2765" target="_blank">Conditions Générales de Vente ci-après</a>
et je valide mon inscription par mon règlement.
</input>
</div>
</div>
<div class="form-group">
<div class="col-xs-offset-4 col-xs-8">
<button class="btn btn-primary" type="submit" name="form.submitted">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer et régler l'inscription</button>
</div>
</div>
</div> <!-- resa-tab -->
</div>
<p><br/></p>
</form>
</div>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$(document).ready(function() {
// validate the form
$('#sinscrire-form').formValidation({
framework: 'bootstrap',
fields: {
cb_cgv: {
validators: {
notEmpty: {
message: 'Veuillez accepter les Conditions Générales de Vente pour continuer.'
}
}
},
cb_permisB: {
validators: {
notEmpty: {
message: 'Un permis B valable est requis pour effectuer ce stage.'
}
}
},
cb_capital: {
validators: {
notEmpty: {
message: 'Un capital de points est requis pour effectuer ce stage.'
}
}
},
}
})
.find('[name="date_nais"], [name="obtenu_le"]').mask('00/00/0000');
if ($("#etape").val() == 2) {
$('ul.nav li a[href="#permis-tab"]').tab('show');
} else {
if ($("#etape").val() == 3) {
$('ul.nav li a[href="#resa-tab"]').tab('show');
} else {
if ($("#etape").val() == 4) {
$('ul.nav li a[href="#confirm-tab"]').tab('show');
}
}
}
$(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
e.preventDefault()
// show next tab on button "next" click
$('ul.nav li a[href="' + $(this).attr('href') + '"]').tab('show');
})
$('#code_postal').autocomplete({
source: function (request, response) {
$.ajax({
url:'/ajax_codepostal',
dataType: 'json',
data: {
recherche: request.term,
},
success: function (data) {
response( data );
},
});
},
minLength: 3,
});
});
</script>
</div>
</metal:block>

View File

@@ -0,0 +1,43 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<div class="container">
<p>
Prix : <span class='text-primary'>${layout.to_euro(tarif)}</span><br />
${lieu1_label} : <span class='text-primary'>${lieu1}</span><br />
<span tal:condition="lieu2">Lieu B : <span class='text-primary'>${lieu2}</span></span>
</p>
<div id="calendar"></div>
<br />
<br />
</div>
<script>
$(document).ready(function() {
var datePlan = '${datePlan}';
$('#calendar').fullCalendar({
locale: 'fr',
header: {
left: 'agendaWeek month',
center: 'prev title next',
right: 'today'
},
allDaySlot: false,
defaultView: 'month',
defaultDate: moment(datePlan),
hiddenDays: [0], // hide sunday
height: 'auto',
minTime: "08:00:00",
maxTime: "18:00:00",
timeFormat: 'H:mm',
displayEventTime: false,
events:${fullcalendar_events},
});
});
</script>
</div><!-- content -->
</metal:block>