initial upload

This commit is contained in:
2023-06-22 10:34:18 +02:00
parent 6df897b44d
commit 5c621cf669
1030 changed files with 355394 additions and 49 deletions

View File

@@ -0,0 +1,348 @@
<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="devis_cpf_frm" action="${url}" method="post" class="form-horizontal">
<!-- Phase : DEMANDE -->
<h4 class="text-primary">1. Demande</h4>
<div class="form-group">
<label class="control-label col-xs-4" for="cd_prospect">Code prospect</label>
<div class="col-xs-2 text-primary">
<p class="form-control-static"><b>${devis.cd_prospect}</b></p>
</div>
<div class="col-xs-2 text-right"><b>Code élève</b></div>
<div class="col-xs-4 text-danger"><b>${devis.cd_cli}</b></div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="type_devis">Type de PEC</label>
<div class="col-xs-8" tal:condition="etape <= 3">
<select class="form-control" id="type_devis" name="type_devis">
<div tal:repeat="item types_devis">
<option value="${item.type_devis}" tal:attributes="selected devis.type_devis==item.type_devis and 'selected' or None">${item.libelle}</option>
</div>
</select>
</div>
<div class="col-xs-8" tal:condition="etape > 3">
<input class="form-control" type="text" id="type_devis" name="type_devis" value="${devis.type_devis}" readonly />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="montant_pec">Montant de PEC</label>
<div class="col-xs-4">
<div class="input-group">
<span class="input-group-addon">TTC</span>
<input class="form-control" type="text" id="montant_pec" name="montant_pec" value="${devis.montant_pec}" readonly />
</div>
</div>
<div class="col-xs-4">
<div class="input-group">
<span class="input-group-addon">HT</span>
<input class="form-control" type="text" id="montant_ht" name="montant_ht" value="${devis.montant_ht}" readonly />
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="nb_heures_pec">Nombre d'heures</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="nb_heures_pec" name="nb_heures_pec" value="${devis.nb_heures_pec}" readonly />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="no_dossier">Numéro de dossier</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="no_dossier" name="no_dossier" value="${devis.no_dossier}"
placeholder="(20 car. max.)"
data-fv-notempty="true"
data-fv-notempty-message="Le Numéro de dossier< est obligatoire"
data-fv-stringlength="true"
data-fv-stringlength-max="20"
data-fv-stringlength-message="20 caractères maximum" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="demande_le">Date de demande</label>
<div class="col-xs-4">
<div class="input-group date" id="demande_le">
<input class="form-control" type="text" name="demande_le" value="${layout.date2dmy(devis.demande_le)}"
data-fv-notempty="true"
data-fv-notempty-message="La Date de damande est obligatoire"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<div class="col-xs-4">
<input class="form-control" type="text" id="demande_log" name="demande_log" value="${devis.demande_log}"
placeholder="Commentaire (20 car. max.)" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<a href="${url_retour}" class="btn btn-default" role="button">
<span class="glyphicon glyphicon-chevron-left"></span>&nbsp;Annuler</a>
<button class="btn btn-primary" type="submit" name="form.submitted" tal:condition="devis.cloture_le == None and devis.accepte_le == None">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer</button>
<a href="/confirm/${no_devis}/leave" class="btn btn-danger" role="button" tal:condition="no_devis != '0' and devis.facture_mt==0">
<span class="glyphicon glyphicon-remove"></span>&nbsp;Abandon</a>
<a href="/confirm/${no_devis}/cancel" class="btn btn-warning" role="button" tal:condition="no_devis != '0' and devis.facture_mt==0">
<span class="glyphicon glyphicon-remove"></span>&nbsp;Refus AEM</a>
<a href="/confirm/${no_devis}/error" class="btn btn-warning" role="button" tal:condition="no_devis != '0' and devis.facture_mt==0">
<span class="glyphicon glyphicon-remove"></span>&nbsp;Annulation AEM</a>
</div>
</div>
<!-- Phase : FORMATION -->
<div tal:condition="etape >= 2">
<h4 class="text-primary">2. Formation</h4>
<div class="form-group">
<label class="control-label col-xs-4" for="formation_debut_le">Début du programme prévu le</label>
<div class="col-xs-4">
<div class="input-group date" id="formation_debut_le">
<input class="form-control" type="text" name="formation_debut_le" value="${layout.date2dmy(devis.formation_debut_le)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="formation_fin_le">Fin du programme prévu le</label>
<div class="col-xs-4">
<div class="input-group date" id="formation_fin_le">
<input class="form-control" type="text" name="formation_fin_le" value="${layout.date2dmy(devis.formation_fin_le)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="fin_pec_le">Date de fin PEC</label>
<div class="col-xs-4">
<div class="input-group date" id="fin_pec_le">
<input class="form-control" type="text" name="fin_pec_le" value="${layout.date2dmy(devis.fin_pec_le)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<div class="col-xs-4">
<input class="form-control" type="text" id="validation_log" name="validation_log" value="${devis.validation_log}"
placeholder="Commentaire (20 car. max.)" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="accepte_le">Date d'acceptation</label>
<div class="col-xs-4">
<div class="input-group date" id="accepte_le">
<input class="form-control" type="text" name="accepte_le" value="${layout.date2dmy(devis.accepte_le)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<div class="col-xs-4">
<input class="form-control" type="text" id="accepte_log" name="accepte_log" value="${devis.accepte_log}"
placeholder="Commentaire (20 car. max.)" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="debut_renseigne_le">Date d'entrée déclarée</label>
<div class="col-xs-4">
<div class="input-group date" id="debut_renseigne_le">
<input class="form-control" type="text" name="debut_renseigne_le" value="${layout.date2dmy(devis.debut_renseigne_le)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
<div class="col-xs-4">
<input class="form-control" type="text" id="debut_renseigne_log" name="debut_renseigne_log" value="${devis.debut_renseigne_log}"
placeholder="Commentaire (20 car. max.)" />
</div>
<p class="col-xs-offset-4 col-xs-8 text-danger">Attention : ne pas oublier de renseigner le portail CPF </p>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<button class="btn btn-primary" type="submit" name="form.formation" tal:condition="devis.cloture_le == None and devis.fin_renseigne_le == None">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer</button>
</div>
</div>
</div>
<!-- Phase : FACTURATION -->
<div tal:condition="etape >= 3">
<h4 class="text-primary">3. Facturation</h4>
<div class="form-group">
<label class="control-label col-xs-4" for="fin_renseigne_le">Date de sortie déclarée</label>
<div class="col-xs-4">
<div class="input-group date" id="fin_renseigne_le">
<input class="form-control" type="text" name="fin_renseigne_le" value="${layout.date2dmy(devis.fin_renseigne_le)}"
data-fv-date="true"
data-fv-date-format="DD-MM-YYYY"
data-fv-date-message="La date n'est pas valide" />
<span class="input-group-addon add-on">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="nb_heures_effectue">Nombre d'heures effectué</label>
<div class="col-xs-4">
<input class="form-control" type="text" id="nb_heures_effectue" name="nb_heures_effectue" value="${devis.nb_heures_effectue}"
data-fv-numeric="true"
data-fv-numeric-message="Le nombre d'heures est invalide" />
</div>
<div class="col-xs-4">
<input class="form-control" type="text" id="fin_renseigne_log" name="fin_renseigne_log" value="${devis.fin_renseigne_log}"
placeholder="Commentaire (20 car. max.)" />
</div>
<p class="col-xs-offset-4 col-xs-8 text-danger">Attention : ne pas oublier de renseigner le portail CPF </p>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="facture_mt">Montant facturé</label>
<div class="col-xs-4">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-euro"></i></span>
<input class="form-control" type="text" id="facture_mt" name="facture_mt" value="${devis.facture_mt}"
data-fv-notempty="true"
data-fv-notempty-message="Le montant de PEC est obligatoire"
data-fv-numeric="true"
data-fv-numeric-message="Le montant est invalide" />
</div>
</div>
<div class="col-xs-4">
<input class="form-control" type="text" id="facture_log" name="facture_log" value="${devis.facture_log}"
placeholder="Commentaire (20 car. max.)" />
</div>
<p class="col-xs-offset-4 col-xs-8 text-danger">Attention : ne pas oublier de renseigner le portail CPF </p>
</div>
<div class="form-group">
<label class="control-label col-xs-4" >Numéro facture</label>
<div class="col-xs-4">
<p class="form-control-static">${devis.no_facture} <b>&nbsp;du&nbsp;&nbsp;</b>${layout.date2dmy(devis.date_facture)} </p>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<button class="btn btn-primary" type="submit" name="form.facturation" tal:condition="devis.cloture_le == None">
<span class="glyphicon glyphicon-ok"></span>&nbsp;Enregistrer</button>
</div>
</div>
</div>
<div class="form-group" tal:condition="devis.cloture_le">
<label class="control-label col-xs-4" for="cloture_le">Date de clôture</label>
<div class="col-xs-8">
<p class="form-control-static">${devis.cloture_le.strftime('%d/%m/%Y')} (${devis.statut})</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-4" for="cd_prospect">Date de création</label>
<div class="col-xs-8">
<p class="form-control-static">${devis.cree_le.strftime('%d/%m/%Y - %H:%M')}</p>
</div>
<label class="control-label col-xs-4" for="cd_prospect">Dernière modifcation</label>
<div class="col-xs-8">
<p class="form-control-static">${devis.modif_le.strftime('%d/%m/%Y - %H:%M')} par ${devis.cd_uti}</p>
</div>
</div>
</form>
<br />
<br />
</div> <!-- row -->
<!-- Bootstrap Datepicker plugin -->
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>
<script>
$(document).ready(function() {
$('#devis_cpf_frm').formValidation();
// faire une requete pour récuper le montant et nb heures
$('#type_devis').on('change', function () {
$.post('/ajax_type_devis',
{type_devis: $('#type_devis').val()},
function (data) {
$('#montant_pec').val(data.montant);
$('#montant_ht').val(data.montant_ht);
$('#nb_heures_pec').val(data.nb_heures);
});
});
$('#demande_le').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#devis_cpf_frm').formValidation('revalidateField', 'demande_le');
});
$('#formation_debut_le').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#devis_cpf_frm').formValidation('revalidateField', 'formation_debut_le');
});
$('#formation_fin_le').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#devis_cpf_frm').formValidation('revalidateField', 'formation_fin_le');
});
$('#fin_pec_le').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#devis_cpf_frm').formValidation('revalidateField', 'fin_pec_le');
});
$('#accepte_le').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#devis_cpf_frm').formValidation('revalidateField', 'accepte_le');
});
$('#debut_renseigne_le').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#devis_cpf_frm').formValidation('revalidateField', 'debut_renseigne_le');
});
$('#fin_renseigne_le').datetimepicker({
format: 'DD-MM-YYYY',
allowInputToggle: true,
}).on('dp.change', function(e) {
// Revalidate the date field
$('#devis_cpf_frm').formValidation('revalidateField', 'fin_renseigne_le');
});
$('form input').on('keypress', function(e) {
return e.which !== 13;
});
});
</script>
</div>
</metal:block>