refactor: update GIEP inspection logic to use camera inspections, invert defect coloring for specific questions, and update related translations.
This commit is contained in:
parent
5eeda20ee6
commit
787799cf11
9 changed files with 141 additions and 56 deletions
Binary file not shown.
|
|
@ -283,12 +283,15 @@ msgstr "Inspection GIEP / Eaux pluviales"
|
||||||
msgid "Inspections GIEP / Eaux pluviales"
|
msgid "Inspections GIEP / Eaux pluviales"
|
||||||
msgstr "Inspections GIEP / Eaux pluviales"
|
msgstr "Inspections GIEP / Eaux pluviales"
|
||||||
|
|
||||||
#: inspections/models.py:555
|
#: inspections/models.py:641
|
||||||
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:339
|
|
||||||
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1064
|
|
||||||
msgid "Inspection"
|
msgid "Inspection"
|
||||||
msgstr "Inspection"
|
msgstr "Inspection"
|
||||||
|
|
||||||
|
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:339
|
||||||
|
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1218
|
||||||
|
msgid "Inspection caméra"
|
||||||
|
msgstr "Camera inspection"
|
||||||
|
|
||||||
#: inspections/models.py:561
|
#: inspections/models.py:561
|
||||||
msgid "Clé de question / Média"
|
msgid "Clé de question / Média"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -503,7 +506,13 @@ msgid "Aucune"
|
||||||
msgstr "None"
|
msgstr "None"
|
||||||
|
|
||||||
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:330
|
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:330
|
||||||
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1052
|
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1206
|
||||||
|
msgid "Renforcement de l’entretien préventif"
|
||||||
|
msgstr "Reinforcement of preventive maintenance"
|
||||||
|
|
||||||
|
msgid "Renforcement de l'entretien préventif"
|
||||||
|
msgstr "Reinforcement of preventive maintenance"
|
||||||
|
|
||||||
msgid "Interventions préventives"
|
msgid "Interventions préventives"
|
||||||
msgstr "Preventive maintenance"
|
msgstr "Preventive maintenance"
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -283,12 +283,15 @@ msgstr "Inspection GIEP / Eaux pluviales"
|
||||||
msgid "Inspections GIEP / Eaux pluviales"
|
msgid "Inspections GIEP / Eaux pluviales"
|
||||||
msgstr "Inspections GIEP / Eaux pluviales"
|
msgstr "Inspections GIEP / Eaux pluviales"
|
||||||
|
|
||||||
#: inspections/models.py:555
|
#: inspections/models.py:641
|
||||||
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:339
|
|
||||||
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1064
|
|
||||||
msgid "Inspection"
|
msgid "Inspection"
|
||||||
msgstr "Inspection"
|
msgstr "Inspection"
|
||||||
|
|
||||||
|
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:339
|
||||||
|
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1218
|
||||||
|
msgid "Inspection caméra"
|
||||||
|
msgstr "Inspection caméra"
|
||||||
|
|
||||||
#: inspections/models.py:561
|
#: inspections/models.py:561
|
||||||
msgid "Clé de question / Média"
|
msgid "Clé de question / Média"
|
||||||
msgstr "Clé de question / Média"
|
msgstr "Clé de question / Média"
|
||||||
|
|
@ -505,7 +508,13 @@ msgid "Aucune"
|
||||||
msgstr "Aucune"
|
msgstr "Aucune"
|
||||||
|
|
||||||
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:330
|
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:330
|
||||||
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1052
|
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1206
|
||||||
|
msgid "Renforcement de l’entretien préventif"
|
||||||
|
msgstr "Renforcement de l’entretien préventif"
|
||||||
|
|
||||||
|
msgid "Renforcement de l'entretien préventif"
|
||||||
|
msgstr "Renforcement de l’entretien préventif"
|
||||||
|
|
||||||
msgid "Interventions préventives"
|
msgid "Interventions préventives"
|
||||||
msgstr "Interventions préventives"
|
msgstr "Interventions préventives"
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -283,12 +283,15 @@ msgstr ""
|
||||||
msgid "Inspections GIEP / Eaux pluviales"
|
msgid "Inspections GIEP / Eaux pluviales"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: inspections/models.py:555
|
#: inspections/models.py:641
|
||||||
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:339
|
|
||||||
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1064
|
|
||||||
msgid "Inspection"
|
msgid "Inspection"
|
||||||
msgstr "Inspectie"
|
msgstr "Inspectie"
|
||||||
|
|
||||||
|
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:339
|
||||||
|
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1218
|
||||||
|
msgid "Inspection caméra"
|
||||||
|
msgstr "Camerainspectie"
|
||||||
|
|
||||||
#: inspections/models.py:561
|
#: inspections/models.py:561
|
||||||
msgid "Clé de question / Média"
|
msgid "Clé de question / Média"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -503,7 +506,13 @@ msgid "Aucune"
|
||||||
msgstr "Geen"
|
msgstr "Geen"
|
||||||
|
|
||||||
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:330
|
#: inspections/templates/inspections/components/asset_details/_naturerwiz.html:330
|
||||||
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1052
|
#: inspections/templates/inspections/components/asset_fields/_naturerwiz.html:1206
|
||||||
|
msgid "Renforcement de l’entretien préventif"
|
||||||
|
msgstr "Versterking van preventief onderhoud"
|
||||||
|
|
||||||
|
msgid "Renforcement de l'entretien préventif"
|
||||||
|
msgstr "Versterking van preventief onderhoud"
|
||||||
|
|
||||||
msgid "Interventions préventives"
|
msgid "Interventions préventives"
|
||||||
msgstr "Preventief onderhoud"
|
msgstr "Preventief onderhoud"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -302,7 +302,7 @@
|
||||||
</div>
|
</div>
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
|
|
||||||
{% with val=q|get_q_val:'ta_bo_sediments' %}
|
{% with val=q|get_q_val:'ta_sediments,ta_bo_sediments' %}
|
||||||
<div class="d-flex align-items-center justify-content-between p-2 mb-1.5 rounded border {% if val == 'null' %}bg-light opacity-75{% else %}bg-white{% endif %}">
|
<div class="d-flex align-items-center justify-content-between p-2 mb-1.5 rounded border {% if val == 'null' %}bg-light opacity-75{% else %}bg-white{% endif %}">
|
||||||
<span class="small fw-medium {% if val == 'null' %}text-muted{% else %}text-dark{% endif %} me-2">{% translate "Présence de sédiments dans l'ouvrage ?" %}</span>
|
<span class="small fw-medium {% if val == 'null' %}text-muted{% else %}text-dark{% endif %} me-2">{% translate "Présence de sédiments dans l'ouvrage ?" %}</span>
|
||||||
<span class="badge {% if val == 'true' or val == True or val == 'oui' %}bg-danger-subtle text-danger border border-danger-subtle{% elif val == 'false' or val == False or val == 'non' %}bg-success-subtle text-success border border-success-subtle{% else %}bg-light text-muted border{% endif %} px-2 py-1">
|
<span class="badge {% if val == 'true' or val == True or val == 'oui' %}bg-danger-subtle text-danger border border-danger-subtle{% elif val == 'false' or val == False or val == 'non' %}bg-success-subtle text-success border border-success-subtle{% else %}bg-light text-muted border{% endif %} px-2 py-1">
|
||||||
|
|
@ -327,7 +327,7 @@
|
||||||
<span class="badge bg-success-subtle text-success border border-success-subtle p-2"><i class="bi bi-check-circle me-1"></i>{% translate "Aucune" %}</span>
|
<span class="badge bg-success-subtle text-success border border-success-subtle p-2"><i class="bi bi-check-circle me-1"></i>{% translate "Aucune" %}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ouv.actions.interventions_preventives or ouv.actions.renforcement_preventif %}
|
{% if ouv.actions.interventions_preventives or ouv.actions.renforcement_preventif %}
|
||||||
<span class="badge bg-warning-subtle text-warning border border-warning-subtle p-2"><i class="bi bi-clock-history me-1"></i>{% translate "Interventions préventives" %}</span>
|
<span class="badge bg-warning-subtle text-warning border border-warning-subtle p-2"><i class="bi bi-clock-history me-1"></i>{% translate "Renforcement de l’entretien préventif" %}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ouv.actions.entretien_curatif %}
|
{% if ouv.actions.entretien_curatif %}
|
||||||
<span class="badge bg-danger-subtle text-danger border border-danger-subtle p-2"><i class="bi bi-exclamation-triangle me-1"></i>{% translate "Entretien curatif / Réparation / Adaptation nécessaire" %}</span>
|
<span class="badge bg-danger-subtle text-danger border border-danger-subtle p-2"><i class="bi bi-exclamation-triangle me-1"></i>{% translate "Entretien curatif / Réparation / Adaptation nécessaire" %}</span>
|
||||||
|
|
@ -335,8 +335,8 @@
|
||||||
{% if ouv.actions.test_permeabilite %}
|
{% if ouv.actions.test_permeabilite %}
|
||||||
<span class="badge bg-info-subtle text-info border border-info-subtle p-2"><i class="bi bi-speedometer2 me-1"></i>{% translate "Test de perméabilité" %}</span>
|
<span class="badge bg-info-subtle text-info border border-info-subtle p-2"><i class="bi bi-speedometer2 me-1"></i>{% translate "Test de perméabilité" %}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ouv.actions.inspection %}
|
{% if ouv.actions.inspection or ouv.actions.inspection_camera %}
|
||||||
<span class="badge bg-primary-subtle text-primary border border-primary-subtle p-2"><i class="bi bi-search me-1"></i>{% translate "Inspection" %}</span>
|
<span class="badge bg-primary-subtle text-primary border border-primary-subtle p-2"><i class="bi bi-search me-1"></i>{% translate "Inspection caméra" %}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -515,13 +515,69 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Liste des clés de questions où "Oui" représente une anomalie / dysfonctionnement
|
||||||
|
// et "Non" représente un bon fonctionnement (absence de défaut).
|
||||||
|
const GIEP_DEFECT_KEYS = new Set([
|
||||||
|
// EVC
|
||||||
|
'evc_pe_feuilles', // Des feuilles ou branches bloquent-elles l'eau ?
|
||||||
|
'evc_pe_detritus', // Un amas de détritus bloque-t-il l'eau ?
|
||||||
|
'evc_ev_chenaux_erosion', // Présence de chenaux d'érosion ?
|
||||||
|
'evc_ev_flaques', // Présence de flaques d'eau persistantes ?
|
||||||
|
'evc_ev_sediments', // Présence de sédiments dans l'ouvrage ?
|
||||||
|
'evc_ev_croute_sediments', // La croûte de sédimentation est-elle supérieure à 5 cm ?
|
||||||
|
'evc_ev_envahissantes', // Présence d'espèces exotiques envahissantes ?
|
||||||
|
// OED
|
||||||
|
'oed_bi_drain_colmate', // Le drain semble colmaté ?
|
||||||
|
'oed_rhm_stagne', // De l'eau stagne-t-elle en surface ?
|
||||||
|
'oed_rhm_stagne_plus_2h', // L'eau stagne plus de 2 heures ?
|
||||||
|
'oed_rhm_joints_fines', // Présence importante de fines dans les joints ?
|
||||||
|
'oed_rhm_joints_remplissage', // Niveau de remplissage plus haut que la structure ?
|
||||||
|
'oed_rp_stagne', // De l'eau stagne-t-elle en surface ?
|
||||||
|
'oed_rp_stagne_plus_2h', // L'eau stagne plus de 2 heures ?
|
||||||
|
'oed_rp_depots', // Présence de dépôts visibles (poussières, mousses, etc.) ?
|
||||||
|
'oed_rp_test_permeabilite', // Test de perméabilité nécessaire ?
|
||||||
|
'oed_rna_stagne', // De l'eau stagne-t-elle en surface ?
|
||||||
|
'oed_rna_stagne_plus_2h', // L'eau stagne plus de 2 heures ?
|
||||||
|
'oed_rna_geotextile_visible', // Le géotextile est-il visible ?
|
||||||
|
// TA
|
||||||
|
'ta_pe_feuilles', // Des feuilles ou branches bloquent-elles l'eau ?
|
||||||
|
'ta_pe_detritus', // Un amas de détritus bloque-t-il l'eau ?
|
||||||
|
'ta_bo_chenaux', // Présence de chenaux d'érosion ?
|
||||||
|
'ta_bo_flaques', // Présence de flaques d'eau persistantes ?
|
||||||
|
'ta_sediments', // Présence de sédiments dans l'ouvrage ?
|
||||||
|
'ta_sediments_rempli', // L'ouvrage est-il rempli au 5e de sa capacité ?
|
||||||
|
'ta_bo_detritus', // Présence de détritus dans l'ouvrage ?
|
||||||
|
'ta_bo_envahissantes' // Présence d'espèces exotiques envahissantes ?
|
||||||
|
]);
|
||||||
|
|
||||||
// Helper pour générer des boutons segmentés
|
// Helper pour générer des boutons segmentés
|
||||||
function renderSegGroup(idx, qKey, label, currentVal, options) {
|
function renderSegGroup(idx, qKey, label, currentVal, options) {
|
||||||
const opts = options || [
|
let opts;
|
||||||
|
const isDefect = (options === true || options === 'defect' || (!options && GIEP_DEFECT_KEYS.has(qKey)));
|
||||||
|
|
||||||
|
if (Array.isArray(options)) {
|
||||||
|
opts = options;
|
||||||
|
} else if (isDefect) {
|
||||||
|
// Pour les questions traduisant un dysfonctionnement / anomalie :
|
||||||
|
// "Oui" = Mauvais fonctionnement / Anomalie (Rouge)
|
||||||
|
// "Non" = Bon fonctionnement / Absence d'anomalie (Vert)
|
||||||
|
// "Non vérifié" = Neutre (Gris)
|
||||||
|
opts = [
|
||||||
|
{val: 'true', text: '{% filter escapejs %}{% translate "Oui" %}{% endfilter %}', activeClass: 'btn-danger', inactiveClass: 'btn-outline-danger'},
|
||||||
|
{val: 'false', text: '{% filter escapejs %}{% translate "Non" %}{% endfilter %}', activeClass: 'btn-success', inactiveClass: 'btn-outline-success'},
|
||||||
|
{val: 'null', text: '{% filter escapejs %}{% translate "Non vérifié" %}{% endfilter %}', activeClass: 'btn-secondary', inactiveClass: 'btn-outline-secondary'}
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
// Pour les questions traduisant un fonctionnement normal / bon état :
|
||||||
|
// "Oui" = Bon fonctionnement (Vert)
|
||||||
|
// "Non" = Mauvais fonctionnement (Rouge)
|
||||||
|
// "Non vérifié" = Neutre (Gris)
|
||||||
|
opts = [
|
||||||
{val: 'true', text: '{% filter escapejs %}{% translate "Oui" %}{% endfilter %}', activeClass: 'btn-success', inactiveClass: 'btn-outline-success'},
|
{val: 'true', text: '{% filter escapejs %}{% translate "Oui" %}{% endfilter %}', activeClass: 'btn-success', inactiveClass: 'btn-outline-success'},
|
||||||
{val: 'false', text: '{% filter escapejs %}{% translate "Non" %}{% endfilter %}', activeClass: 'btn-danger', inactiveClass: 'btn-outline-danger'},
|
{val: 'false', text: '{% filter escapejs %}{% translate "Non" %}{% endfilter %}', activeClass: 'btn-danger', inactiveClass: 'btn-outline-danger'},
|
||||||
{val: 'null', text: '{% filter escapejs %}{% translate "Non vérifié" %}{% endfilter %}', activeClass: 'btn-secondary', inactiveClass: 'btn-outline-secondary'}
|
{val: 'null', text: '{% filter escapejs %}{% translate "Non vérifié" %}{% endfilter %}', activeClass: 'btn-secondary', inactiveClass: 'btn-outline-secondary'}
|
||||||
];
|
];
|
||||||
|
}
|
||||||
|
|
||||||
let btnsHtml = opts.map(opt => {
|
let btnsHtml = opts.map(opt => {
|
||||||
const isSelected = (currentVal === opt.val);
|
const isSelected = (currentVal === opt.val);
|
||||||
|
|
@ -815,8 +871,8 @@
|
||||||
${renderSegGroup(idx, 'evc_pe_ok', '{% filter escapejs %}{% translate "L'eau peut-elle facilement entrer dans l'EVC ?" %}{% endfilter %}', q.evc_pe_ok)}
|
${renderSegGroup(idx, 'evc_pe_ok', '{% filter escapejs %}{% translate "L'eau peut-elle facilement entrer dans l'EVC ?" %}{% endfilter %}', q.evc_pe_ok)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mt-2 ${q.evc_pe_ok === 'false' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mt-2 ${q.evc_pe_ok === 'false' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'evc_pe_feuilles', '{% filter escapejs %}{% translate "Des feuilles ou branches bloquent-elles l'eau ?" %}{% endfilter %}', q.evc_pe_feuilles)}
|
${renderSegGroup(idx, 'evc_pe_feuilles', '{% filter escapejs %}{% translate "Des feuilles ou branches bloquent-elles l'eau ?" %}{% endfilter %}', q.evc_pe_feuilles, true)}
|
||||||
${renderSegGroup(idx, 'evc_pe_detritus', '{% filter escapejs %}{% translate "Un amas de détritus bloque-t-il l'eau ?" %}{% endfilter %}', q.evc_pe_detritus)}
|
${renderSegGroup(idx, 'evc_pe_detritus', '{% filter escapejs %}{% translate "Un amas de détritus bloque-t-il l'eau ?" %}{% endfilter %}', q.evc_pe_detritus, true)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Empierrement switch -->
|
<!-- Empierrement switch -->
|
||||||
|
|
@ -866,15 +922,15 @@
|
||||||
])}
|
])}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${renderSegGroup(idx, 'evc_ev_chenaux_erosion', '{% filter escapejs %}{% translate "Présence de chenaux d'érosion ?" %}{% endfilter %}', q.evc_ev_chenaux_erosion)}
|
${renderSegGroup(idx, 'evc_ev_chenaux_erosion', '{% filter escapejs %}{% translate "Présence de chenaux d'érosion ?" %}{% endfilter %}', q.evc_ev_chenaux_erosion, true)}
|
||||||
${renderSegGroup(idx, 'evc_ev_flaques', '{% filter escapejs %}{% translate "Présence de flaques d'eau persistantes ?" %}{% endfilter %}', q.evc_ev_flaques)}
|
${renderSegGroup(idx, 'evc_ev_flaques', '{% filter escapejs %}{% translate "Présence de flaques d'eau persistantes ?" %}{% endfilter %}', q.evc_ev_flaques, true)}
|
||||||
${renderSegGroup(idx, 'evc_ev_sediments', '{% filter escapejs %}{% translate "Présence de sédiments dans l'ouvrage ?" %}{% endfilter %}', q.evc_ev_sediments)}
|
${renderSegGroup(idx, 'evc_ev_sediments', '{% filter escapejs %}{% translate "Présence de sédiments dans l'ouvrage ?" %}{% endfilter %}', q.evc_ev_sediments, true)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-3 ${q.evc_ev_sediments === 'true' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-3 ${q.evc_ev_sediments === 'true' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'evc_ev_croute_sediments', '{% filter escapejs %}{% translate "La croûte de sédimentation est-elle supérieure à 5 cm ?" %}{% endfilter %}', q.evc_ev_croute_sediments)}
|
${renderSegGroup(idx, 'evc_ev_croute_sediments', '{% filter escapejs %}{% translate "La croûte de sédimentation est-elle supérieure à 5 cm ?" %}{% endfilter %}', q.evc_ev_croute_sediments, true)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${renderSegGroup(idx, 'evc_ev_envahissantes', '{% filter escapejs %}{% translate "Présence d'espèces exotiques envahissantes ?" %}{% endfilter %}', q.evc_ev_envahissantes)}
|
${renderSegGroup(idx, 'evc_ev_envahissantes', '{% filter escapejs %}{% translate "Présence d'espèces exotiques envahissantes ?" %}{% endfilter %}', q.evc_ev_envahissantes, true)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- EVC: Surverse / Trop-plein -->
|
<!-- EVC: Surverse / Trop-plein -->
|
||||||
|
|
@ -941,7 +997,7 @@
|
||||||
${renderSegGroup(idx, 'oed_bi_filtre_bon', '{% filter escapejs %}{% translate "Le filtre est en bon état ?" %}{% endfilter %}', q.oed_bi_filtre_bon)}
|
${renderSegGroup(idx, 'oed_bi_filtre_bon', '{% filter escapejs %}{% translate "Le filtre est en bon état ?" %}{% endfilter %}', q.oed_bi_filtre_bon)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${renderSegGroup(idx, 'oed_bi_drain_colmate', '{% filter escapejs %}{% translate "Le drain semble colmaté ?" %}{% endfilter %}', q.oed_bi_drain_colmate)}
|
${renderSegGroup(idx, 'oed_bi_drain_colmate', '{% filter escapejs %}{% translate "Le drain semble colmaté ?" %}{% endfilter %}', q.oed_bi_drain_colmate, true)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -958,17 +1014,17 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="ps-3 border-start border-2 border-info-subtle mb-3 ${q.oed_rhm_presente ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-info-subtle mb-3 ${q.oed_rhm_presente ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rhm_stagne', '{% filter escapejs %}{% translate "De l'eau stagne-t-elle en surface ?" %}{% endfilter %}', q.oed_rhm_stagne)}
|
${renderSegGroup(idx, 'oed_rhm_stagne', '{% filter escapejs %}{% translate "De l'eau stagne-t-elle en surface ?" %}{% endfilter %}', q.oed_rhm_stagne, true)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rhm_stagne === 'true' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rhm_stagne === 'true' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rhm_stagne_plus_2h', '{% filter escapejs %}{% translate "L'eau stagne plus de 2 heures ?" %}{% endfilter %}', q.oed_rhm_stagne_plus_2h)}
|
${renderSegGroup(idx, 'oed_rhm_stagne_plus_2h', '{% filter escapejs %}{% translate "L'eau stagne plus de 2 heures ?" %}{% endfilter %}', q.oed_rhm_stagne_plus_2h, true)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${renderSegGroup(idx, 'oed_rhm_joints_ok', '{% filter escapejs %}{% translate "Les joints sont-ils en bon état ?" %}{% endfilter %}', q.oed_rhm_joints_ok)}
|
${renderSegGroup(idx, 'oed_rhm_joints_ok', '{% filter escapejs %}{% translate "Les joints sont-ils en bon état ?" %}{% endfilter %}', q.oed_rhm_joints_ok)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rhm_joints_ok === 'false' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rhm_joints_ok === 'false' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rhm_joints_fines', '{% filter escapejs %}{% translate "Présence importante de fines dans les joints ?" %}{% endfilter %}', q.oed_rhm_joints_fines)}
|
${renderSegGroup(idx, 'oed_rhm_joints_fines', '{% filter escapejs %}{% translate "Présence importante de fines dans les joints ?" %}{% endfilter %}', q.oed_rhm_joints_fines, true)}
|
||||||
${renderSegGroup(idx, 'oed_rhm_joints_remplissage', '{% filter escapejs %}{% translate "Niveau de remplissage plus haut que la structure ?" %}{% endfilter %}', q.oed_rhm_joints_remplissage)}
|
${renderSegGroup(idx, 'oed_rhm_joints_remplissage', '{% filter escapejs %}{% translate "Niveau de remplissage plus haut que la structure ?" %}{% endfilter %}', q.oed_rhm_joints_remplissage, true)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -981,16 +1037,16 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="ps-3 border-start border-2 border-info-subtle mb-3 ${q.oed_rp_presente ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-info-subtle mb-3 ${q.oed_rp_presente ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rp_stagne', '{% filter escapejs %}{% translate "De l'eau stagne-t-elle en surface ?" %}{% endfilter %}', q.oed_rp_stagne)}
|
${renderSegGroup(idx, 'oed_rp_stagne', '{% filter escapejs %}{% translate "De l'eau stagne-t-elle en surface ?" %}{% endfilter %}', q.oed_rp_stagne, true)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rp_stagne === 'true' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rp_stagne === 'true' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rp_stagne_plus_2h', '{% filter escapejs %}{% translate "L'eau stagne plus de 2 heures ?" %}{% endfilter %}', q.oed_rp_stagne_plus_2h)}
|
${renderSegGroup(idx, 'oed_rp_stagne_plus_2h', '{% filter escapejs %}{% translate "L'eau stagne plus de 2 heures ?" %}{% endfilter %}', q.oed_rp_stagne_plus_2h, true)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${renderSegGroup(idx, 'oed_rp_depots', '{% filter escapejs %}{% translate "Présence de dépôts visibles (poussières, mousses, etc.) ?" %}{% endfilter %}', q.oed_rp_depots)}
|
${renderSegGroup(idx, 'oed_rp_depots', '{% filter escapejs %}{% translate "Présence de dépôts visibles (poussières, mousses, etc.) ?" %}{% endfilter %}', q.oed_rp_depots, true)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rp_depots === 'true' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rp_depots === 'true' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rp_test_permeabilite', '{% filter escapejs %}{% translate "Test de perméabilité nécessaire ?" %}{% endfilter %}', q.oed_rp_test_permeabilite)}
|
${renderSegGroup(idx, 'oed_rp_test_permeabilite', '{% filter escapejs %}{% translate "Test de perméabilité nécessaire ?" %}{% endfilter %}', q.oed_rp_test_permeabilite, true)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -1003,16 +1059,16 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="ps-3 border-start border-2 border-info-subtle mt-2 ${q.oed_rna_presente ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-info-subtle mt-2 ${q.oed_rna_presente ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rna_stagne', '{% filter escapejs %}{% translate "De l'eau stagne-t-elle en surface ?" %}{% endfilter %}', q.oed_rna_stagne)}
|
${renderSegGroup(idx, 'oed_rna_stagne', '{% filter escapejs %}{% translate "De l'eau stagne-t-elle en surface ?" %}{% endfilter %}', q.oed_rna_stagne, true)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rna_stagne === 'true' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rna_stagne === 'true' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rna_stagne_plus_2h', '{% filter escapejs %}{% translate "L'eau stagne plus de 2 heures ?" %}{% endfilter %}', q.oed_rna_stagne_plus_2h)}
|
${renderSegGroup(idx, 'oed_rna_stagne_plus_2h', '{% filter escapejs %}{% translate "L'eau stagne plus de 2 heures ?" %}{% endfilter %}', q.oed_rna_stagne_plus_2h, true)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${renderSegGroup(idx, 'oed_rna_matiere_ok', '{% filter escapejs %}{% translate "Le volume de matière est-il en suffisance ?" %}{% endfilter %}', q.oed_rna_matiere_ok)}
|
${renderSegGroup(idx, 'oed_rna_matiere_ok', '{% filter escapejs %}{% translate "Le volume de matière est-il en suffisance ?" %}{% endfilter %}', q.oed_rna_matiere_ok)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rna_matiere_ok === 'false' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.oed_rna_matiere_ok === 'false' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'oed_rna_geotextile_visible', '{% filter escapejs %}{% translate "Le géotextile est-il visible ?" %}{% endfilter %}', q.oed_rna_geotextile_visible)}
|
${renderSegGroup(idx, 'oed_rna_geotextile_visible', '{% filter escapejs %}{% translate "Le géotextile est-il visible ?" %}{% endfilter %}', q.oed_rna_geotextile_visible, true)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -1030,8 +1086,8 @@
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.ta_pe_conduits_ok === 'false' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.ta_pe_conduits_ok === 'false' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'ta_pe_grilles', '{% filter escapejs %}{% translate "Les grilles sont-elles propres et dégagées ?" %}{% endfilter %}', q.ta_pe_grilles)}
|
${renderSegGroup(idx, 'ta_pe_grilles', '{% filter escapejs %}{% translate "Les grilles sont-elles propres et dégagées ?" %}{% endfilter %}', q.ta_pe_grilles)}
|
||||||
${renderSegGroup(idx, 'ta_pe_feuilles', '{% filter escapejs %}{% translate "Des feuilles ou branches bloquent-elles l'eau ?" %}{% endfilter %}', q.ta_pe_feuilles)}
|
${renderSegGroup(idx, 'ta_pe_feuilles', '{% filter escapejs %}{% translate "Des feuilles ou branches bloquent-elles l'eau ?" %}{% endfilter %}', q.ta_pe_feuilles, true)}
|
||||||
${renderSegGroup(idx, 'ta_pe_detritus', '{% filter escapejs %}{% translate "Un amas de détritus bloque-t-il l'eau ?" %}{% endfilter %}', q.ta_pe_detritus)}
|
${renderSegGroup(idx, 'ta_pe_detritus', '{% filter escapejs %}{% translate "Un amas de détritus bloque-t-il l'eau ?" %}{% endfilter %}', q.ta_pe_detritus, true)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -1053,16 +1109,16 @@
|
||||||
])}
|
])}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${renderSegGroup(idx, 'ta_bo_chenaux', '{% filter escapejs %}{% translate "Présence de chenaux d'érosion ?" %}{% endfilter %}', q.ta_bo_chenaux)}
|
${renderSegGroup(idx, 'ta_bo_chenaux', '{% filter escapejs %}{% translate "Présence de chenaux d'érosion ?" %}{% endfilter %}', q.ta_bo_chenaux, true)}
|
||||||
${renderSegGroup(idx, 'ta_bo_flaques', '{% filter escapejs %}{% translate "Présence de flaques d'eau persistantes ?" %}{% endfilter %}', q.ta_bo_flaques)}
|
${renderSegGroup(idx, 'ta_bo_flaques', '{% filter escapejs %}{% translate "Présence de flaques d'eau persistantes ?" %}{% endfilter %}', q.ta_bo_flaques, true)}
|
||||||
${renderSegGroup(idx, 'ta_sediments', '{% filter escapejs %}{% translate "Présence de sédiments dans l'ouvrage ?" %}{% endfilter %}', q.ta_sediments)}
|
${renderSegGroup(idx, 'ta_sediments', '{% filter escapejs %}{% translate "Présence de sédiments dans l'ouvrage ?" %}{% endfilter %}', q.ta_sediments, true)}
|
||||||
|
|
||||||
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.ta_sediments === 'true' ? '' : 'd-none'}">
|
<div class="ps-3 border-start border-2 border-danger-subtle mb-2 ${q.ta_sediments === 'true' ? '' : 'd-none'}">
|
||||||
${renderSegGroup(idx, 'ta_sediments_rempli', '{% filter escapejs %}{% translate "L'ouvrage est-il rempli au 5e de sa capacité ?" %}{% endfilter %}', q.ta_sediments_rempli)}
|
${renderSegGroup(idx, 'ta_sediments_rempli', '{% filter escapejs %}{% translate "L'ouvrage est-il rempli au 5e de sa capacité ?" %}{% endfilter %}', q.ta_sediments_rempli, true)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${renderSegGroup(idx, 'ta_bo_detritus', '{% filter escapejs %}{% translate "Présence de détritus dans l'ouvrage ?" %}{% endfilter %}', q.ta_bo_detritus)}
|
${renderSegGroup(idx, 'ta_bo_detritus', '{% filter escapejs %}{% translate "Présence de détritus dans l'ouvrage ?" %}{% endfilter %}', q.ta_bo_detritus, true)}
|
||||||
${renderSegGroup(idx, 'ta_bo_envahissantes', '{% filter escapejs %}{% translate "Présence d'espèces exotiques envahissantes ?" %}{% endfilter %}', q.ta_bo_envahissantes)}
|
${renderSegGroup(idx, 'ta_bo_envahissantes', '{% filter escapejs %}{% translate "Présence d'espèces exotiques envahissantes ?" %}{% endfilter %}', q.ta_bo_envahissantes, true)}
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
@ -1145,8 +1201,8 @@
|
||||||
<label class="form-check-label extra-small" for="act_auc_${idx}">{% translate "Aucune" %}</label>
|
<label class="form-check-label extra-small" for="act_auc_${idx}">{% translate "Aucune" %}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input class="form-check-input action-check" type="checkbox" data-idx="${idx}" data-act="interventions_preventives" id="act_prev_${idx}" ${act.interventions_preventives ? 'checked' : ''}>
|
<input class="form-check-input action-check" type="checkbox" data-idx="${idx}" data-act="interventions_preventives" id="act_prev_${idx}" ${act.interventions_preventives || act.renforcement_preventif ? 'checked' : ''}>
|
||||||
<label class="form-check-label extra-small" for="act_prev_${idx}">{% translate "Interventions préventives" %}</label>
|
<label class="form-check-label extra-small" for="act_prev_${idx}">{% translate "Renforcement de l’entretien préventif" %}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input class="form-check-input action-check" type="checkbox" data-idx="${idx}" data-act="entretien_curatif" id="act_cur_${idx}" ${act.entretien_curatif ? 'checked' : ''}>
|
<input class="form-check-input action-check" type="checkbox" data-idx="${idx}" data-act="entretien_curatif" id="act_cur_${idx}" ${act.entretien_curatif ? 'checked' : ''}>
|
||||||
|
|
@ -1157,8 +1213,8 @@
|
||||||
<label class="form-check-label extra-small" for="act_perm_${idx}">{% translate "Test de perméabilité" %}</label>
|
<label class="form-check-label extra-small" for="act_perm_${idx}">{% translate "Test de perméabilité" %}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input class="form-check-input action-check" type="checkbox" data-idx="${idx}" data-act="inspection" id="act_insp_${idx}" ${act.inspection ? 'checked' : ''}>
|
<input class="form-check-input action-check" type="checkbox" data-idx="${idx}" data-act="inspection" id="act_insp_${idx}" ${act.inspection || act.inspection_camera ? 'checked' : ''}>
|
||||||
<label class="form-check-label extra-small" for="act_insp_${idx}">{% translate "Inspection" %}</label>
|
<label class="form-check-label extra-small" for="act_insp_${idx}">{% translate "Inspection caméra" %}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -124,7 +124,9 @@ def format_giep_q_val(val):
|
||||||
def get_q_val(questions_dict, key):
|
def get_q_val(questions_dict, key):
|
||||||
if not isinstance(questions_dict, dict):
|
if not isinstance(questions_dict, dict):
|
||||||
return 'null'
|
return 'null'
|
||||||
val = questions_dict.get(str(key))
|
keys = [k.strip() for k in str(key).split(',')]
|
||||||
if val is None or val == '' or val == 'null':
|
for k in keys:
|
||||||
return 'null'
|
val = questions_dict.get(k)
|
||||||
|
if val is not None and val != '' and val != 'null':
|
||||||
return val
|
return val
|
||||||
|
return 'null'
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue