diff --git a/suivi_cordulegaster/config.json b/suivi_cordulegaster/config.json new file mode 100644 index 0000000..8cd8431 --- /dev/null +++ b/suivi_cordulegaster/config.json @@ -0,0 +1,18 @@ +{ + "tree": { + "module": { + "sites_group": { + "site": { + "visit": { + "observation": null + } + } + }, + "site": { + "visit": { + "observation": null + } + } + } + } +} diff --git a/suivi_cordulegaster/docs/README.md b/suivi_cordulegaster/docs/README.md new file mode 100644 index 0000000..a894c0b --- /dev/null +++ b/suivi_cordulegaster/docs/README.md @@ -0,0 +1,80 @@ +# Documentation du Module + +Ce module est conçu pour gérer le suivi de la flore patrimoniale. + +### Aire d'études + + - ``sites_group_name`` - **Nom de l'aire d'études** + - ``sites_group_description`` - **Remarque/description** + - ``sites_group_code`` - **Type d'aire d'études :** (Espace Naturel Sensible, Natura 2000, Réserve Naturelle, Site sous convention, Autres) + +### Sites + + - ``id_sites_group`` - **Air d'études** + - ``base_site_name`` - **Nom du site** + - ``base_site_description`` - **Description du site** + - ``type_milieu`` - **Type de milieu** + - ``tuf`` - **Habitat tufeux ? :** (Oui, Non) + - ``altitude_min`` - **Altitude** + - ``couv_arboree`` - **Couverture d'arborée :** (0-25%, 25-50%, 50-75%, 75-100%) + - ``couv_herbacee`` - **Couverture d'herbacée :** (0-25%, 25-50%, 50-75%, 75-100%) + - ``especes_dominantes`` - **Espèces dominantes présentes** + - ``type_boisement`` - **Type de boisement :** (Feuillus, Résineux, Mixtes, Non boisé) + - ``last_visit`` - **Dernier passage** + - ``nb_visits`` - **Nb. de passages** + - ``id_inventor`` - **Inventeur** + - ``first_use_date`` - **Date de création du site** + +### Visites + +- `id_base_site` - **Site visité** +- `visit_date_min` - **Date de la visite** +- `observers` - **Observateurs** +- `time_start` - **Heure de début du relevé** +- `time_end` - **Heure de fin du relevé** +- `quadrat` - **Quadrat** : ("1a" ,"1b" ,"2a" ,"2b" ,"3a" ,"3b" ,"4a" ,"4b" ,"5a" ,"5b" ,"6a" ,"6b" ,"8a" ,"8b" ,"HQ") +- `temperature` - **Température au début du relevé** +- `cloudiness` - **Couverture nuageuse** : ("0 à 10%","10 à 25%", "25 à 50%", "Plus de 50%") +- `rain` - **Pluie** : ("Pas de précipitations","Averses", "Pluie continue", "Orage") +- `wind` - **Vent** : ("Nul","Faible", "Moyen", "Soutenu", "Rafales") +- `data_abiotique` - **Transmission de données abiotiques** +- `physicochimie_temp` - **Physico-chimie - Température** +- `physicochimie_ph` - **Physico-chimie - Ph** +- `physicochimie_conductivite` - **Physico-chimie - Conductivité** +- `physicochimie_O2_dissous_mg_l` - **Physico-chimie - O2 dissous (mg/l)** +- `physicochimie_tx_O2` - **Physico-chimie - Taux O2 (%)** +- `habitat_hauteur_lame_eau_classe` - **Habitat - Classe de hauteur de la lame d'eau** +- `habitat_hauteur_lame_eau_cm` - **Habitat - Hauteur de la lame d'eau (cm)** : ("0","0,5 à 4", "4 à 8", "8 à 15", "15 à 20", "plus de 20") +- `habitat_hauteur_sediments_cm` - **Habitat - Hauteur des sédiments (cm)** +- `habitat_substrat_organique` - **Habitat - Substrat organique** : ("Absence","Traces/présence", "Majoritaire") +- `habitat_granulo_sediments_majoritaire` - **Habitat - Granulo sediments majoritaire** : (<2mm, 25mm) +- `habitat_commentaires` - **Habitat - Commentaires** +- `data_labo_DBO5` - **Laboratoire - DBO5 (mg/l)** +- `data_labo_COD` - **Laboratoire - COD (mg/l)** +- `data_labo_PO4` - **Laboratoire - PO4 (mg/l)** +- `data_labo_Ptotal` - **Laboratoire - Ptotal (mg/l)** +- `data_labo_NH4` - **Laboratoire - NH4 (mg/l)** +- `data_labo_NO2` - **Laboratoire - NO2 (mg/l)** +- `data_labo_NO3` - **Laboratoire - NO3 (mg/l)** +- `data_labo_chlorures` - **Laboratoire - Chlorures (mg/l)** +- `data_labo_sulfates` - **Laboratoire - Sulfates (mg/l)** +- `data_labo_cuivre` - **Laboratoire - Cuivre (µg/l)** +- `data_labo_micropolluants` - **Laboratoire - Micropolluants** +- `comments` - **Commentaires** + +### Observations + +- `id_nomenclature_observation_status` - **Statut d'observation** +- `id_nomenclature_obs_technique` - **Techniques d'observation** +- `cd_nom` - **Espèces observées** +- `id_nomenclature_stade` - **Stade Biologique** +- `id_nomenclature_sex` - **Sexe** +- `num_cp_tamis` - **Nombre de coup de tamis** +- `larve_stade` - **Stade de la larve** +- `larve_long_cm` - **Longueur de la larve (cm)** +- `larve_large_tete_cm` - **Largeur de la tête (cm)** +- `exuvie_support` - **Support de l'exuvie** +- `exuvie_haut_cm` - **Haut de l'exuvie (cm)** +- `exuvie_dist_eau_cm` - **Distance eau de l'exuvie (cm)** +- `id_nomenclature_behaviour` - **Comportement des imago observées** +- `comments` - **Commentaire** \ No newline at end of file diff --git a/suivi_cordulegaster/img.jpg b/suivi_cordulegaster/img.jpg new file mode 100644 index 0000000..1091560 Binary files /dev/null and b/suivi_cordulegaster/img.jpg differ diff --git a/suivi_cordulegaster/module.json b/suivi_cordulegaster/module.json new file mode 100644 index 0000000..bfd8dd2 --- /dev/null +++ b/suivi_cordulegaster/module.json @@ -0,0 +1,6 @@ +{ + "module_label": "Suivi Cordulegaster", + "module_desc": "Suivie sur les Cordulegaster, quadrat 50x50 cm, coup de tamis, ...", + "b_draw_sites_group": true, + "genre":"F" +} \ No newline at end of file diff --git a/suivi_cordulegaster/observation.json b/suivi_cordulegaster/observation.json new file mode 100644 index 0000000..f8c3a2c --- /dev/null +++ b/suivi_cordulegaster/observation.json @@ -0,0 +1,181 @@ +{ + "description_field_name":"cd_nom", + "label": "observation", + "label_list": "observations", + "genre":"F", +"display_properties": [ + "id_nomenclature_observation_status", + "id_nomenclature_obs_technique", + "cd_nom", + "id_nomenclature_stade", + "id_nomenclature_sex", + "num_cp_tamis", + "larve_stade", + "larve_long_cm", + "larve_large_tete_cm", + "exuvie_support", + "exuvie_haut_cm", + "exuvie_dist_eau_cm", + "id_nomenclature_behaviour", + "comments" +], +"display_list": [ + "id_nomenclature_observation_status", + "id_nomenclature_obs_technique", + "id_nomenclature_stade" +], + "specific": { + "cd_nom": { + "type_widget": "taxonomy", + "attribut_label": "Espèces observées", + "keyValue": "cd_nom", + "keyLabel": "__MODULE.TAXONOMY_DISPLAY_FIELD_NAME", + "multiple": false, + "api": "taxref/allnamebylist/__MODULE.ID_LIST_TAXONOMY", + "application": "TaxHub", + "required": false, + "type_util": "taxonomy" + }, + "id_nomenclature_stade": { + "type_widget": "datalist", + "attribut_label": "Stade Biologique", + "api": "nomenclatures/nomenclature/STADE_VIE", + "application": "GeoNature", + "keyValue": "id_nomenclature", + "keyLabel": "label_fr", + "data_path": "values", + "type_util": "nomenclature", + "filters": {"label_default": ["Larve","Mue","Imago","Exuvie","Inconnu"]}, + "required": true, + "default": { + "label_default": "Inconnu" + } + }, + "id_nomenclature_eta_bio": { + "type_widget": "datalist", + "attribut_label": "Stade Biologique", + "api": "nomenclatures/nomenclature/ETA_BIO", + "application": "GeoNature", + "keyValue": "id_nomenclature", + "keyLabel": "label_fr", + "data_path": "values", + "type_util": "nomenclature", + "filters": {"label_default": ["Observé vivant", "Trouvé mort"]}, + "required": true, + "default": { + "label_default": "Observé vivant" + } + }, + "id_nomenclature_observation_status": { + "type_widget": "datalist", + "attribut_label": "Statut d'observation", + "api": "nomenclatures/nomenclature/STATUT_OBS", + "application": "GeoNature", + "keyValue": "id_nomenclature", + "keyLabel": "label_fr", + "data_path": "values", + "type_util": "nomenclature", + "filters": {"cd_nomenclature": ["No","NSP","Pr"]}, + "required": true, + "default": { + "cd_nomenclature": "No" + } + }, + "id_nomenclature_sex": { + "type_widget": "datalist", + "attribut_label": "Sexe", + "api": "nomenclatures/nomenclature/SEXE", + "application": "GeoNature", + "keyValue": "id_nomenclature", + "keyLabel": "label_fr", + "data_path": "values", + "type_util": "nomenclature", + "filters": {"label_default": ["Indéterminé","Femelle","Mâle"]}, + "required": true, + "default": { + "label_default": "Indéterminé" + } + }, + "id_nomenclature_obs_technique": { + "type_widget": "datalist", + "attribut_label": "Techniques d'observation", + "api": "nomenclatures/nomenclature/TECHNIQUE_OBS", + "application": "GeoNature", + "keyValue": "id_nomenclature", + "keyLabel": "label_fr", + "data_path": "values", + "type_util": "nomenclature", + "filters": {"cd_nomenclature": ["10","52","59","60"]}, + "required": true, + "default": { + "cd_nomenclature": "52" + } + }, + "num_cp_tamis": { + "type_widget": "number", + "attribut_label": "Nombre de coup de tamis", + "hidden": false, + "required": false, + "min": 1, + "max": 10 + }, + "larve_stade": { + "type_widget": "number", + "attribut_label": "Stade de la larve", + "hidden": "({value}) => value.id_nomenclature_stade != 7 ", + "required": false, + "min": 1, + "max": 6 + }, + "larve_long_cm": { + "type_widget": "number", + "attribut_label": "Longeur de la larve", + "hidden": "({value}) => value.id_nomenclature_stade != 7", + "required": false + }, + "larve_large_tete_cm": { + "type_widget": "number", + "attribut_label": "Largeur de la tête", + "hidden": "({value}) => value.id_nomenclature_stade != 7", + "required": false + }, + "exuvie_support": { + "type_widget": "textarea", + "attribut_label": "Support de l'exuvie", + "hidden": "({value}) => value.id_nomenclature_stade != 12", + "required": false + }, + "exuvie_haut_cm": { + "type_widget": "number", + "attribut_label": "Haut de l'exuvie (cm)", + "hidden": "({value}) => value.id_nomenclature_stade != 12", + "required": false + }, + "exuvie_dist_eau_cm": { + "type_widget": "number", + "attribut_label": "Distance eau de l'exuvie (cm)", + "hidden": "({value}) => value.id_nomenclature_stade != 12", + "required": false + }, + "id_nomenclature_behaviour": { + "type_widget": "datalist", + "attribut_label": "Comportement des imago observées", + "api": "nomenclatures/nomenclature/OCC_COMPORTEMENT", + "application": "GeoNature", + "keyValue": "id_nomenclature", + "keyLabel": "label_fr", + "data_path": "values", + "type_util": "nomenclature", + "filters": {"label_default": ["Passage en vol","Pond","Posé","Accouplement","Non renseigné","Erratique"]}, + "hidden": "({value}) => value.id_nomenclature_stade != 16", + "required": false, + "default": { + "label_default": "Non renseigné" + } + }, + "comments": { + "type_widget": "textarea", + "attribut_label": "Commentaire" + } +} +} \ No newline at end of file diff --git a/suivi_cordulegaster/site.json b/suivi_cordulegaster/site.json new file mode 100644 index 0000000..7988a7f --- /dev/null +++ b/suivi_cordulegaster/site.json @@ -0,0 +1,119 @@ +{ "map_label_field_name": "base_site_code", + "label": "Site", + "label_list": "Sites", + "genre": "M", + "geometry_type": "Polygon", + "display_properties": [ + "id_sites_group", + "base_site_name", + "base_site_description", + "type_milieu", + "tuf", + "altitude_min", + "couv_arboree", + "couv_herbacee", + "especes_dominantes", + "type_boisement", + "last_visit", + "nb_visits" + ], + "display_list": [ + "base_site_name", + "id_inventor", + "first_use_date", + "last_visit", + "nb_visits" + ], + "specific": { + "id_nomenclature_type_site": { + "type_widget": "text", + "attribut_label": "Type site", + "type_util": "nomenclature", + "value": { + "code_nomenclature_type": "TYPE_SITE", + "cd_nomenclature": "7" + }, + "hidden": true + }, + "id_sites_group": { + "type_widget": "datalist", + "attribut_label": "Air d'études", + "type_util": "sites_group", + "keyValue": "id_sites_group", + "keyLabel": "sites_group_name", + "api": "__MONITORINGS_PATH/list/__MODULE.MODULE_CODE/sites_group?id_module=__MODULE.ID_MODULE", + "application": "GeoNature", + "required": false, + "hidden": false + }, + "base_site_name": { + "type_widget": "text", + "attribut_label": "Nom du site", + "required": true + }, + "first_use_date": { + "type_widget": "date", + "attribut_label": "Date de création du site", + "required": true + }, + "type_hab_larve": { + "type_widget": "select", + "attribut_label": "Type d’habitat larvaire", + "values": ["Source/exsurgence","Ruisselet","Vasques","Eau dormante"], + "required": true, + "hidden": false + }, + "tuf": { + "type_widget": "radio", + "attribut_label": "Habitat tufeux ?", + "values": ["Oui", "Non"], + "required": true, + "hidden": false + }, + "couv_arboree": { + "type_widget": "select", + "attribut_label": "Couverture d'arborée", + "values": ["0-25%","25-50%","50-75%","75-100%"], + "required": true, + "hidden": false + }, + "altitude_min": { + "attribut_label": "Altitude", + "required": false, + "hidden": true + }, + "couv_herbacee": { + "type_widget": "select", + "attribut_label": "Couverture d'herbacée", + "values": ["0-25%","25-50%","50-75%","75-100%"], + "required": true, + "hidden": false + }, + "especes_dominantes": { + "type_widget": "text", + "attribut_label": "Espèces dominantes présentes : ", + "required": true, + "hidden": false + }, + "type_boisement": { + "type_widget": "text", + "attribut_label": "Type de boisement", + "values": ["Feuillus","Résineux","Mixtes","Non boisé"], + "required": true, + "hidden": false + }, + "base_site_code": { + "type_widget": "text", + "attribut_label": "Code du site", + "required": false, + "hidden": true + }, + "nb_visits": { + "attribut_label": "Nb. de passages" + }, + "last_visit": { + "attribut_label": "Dernier passage", + "type_util": "date" + } + } +} \ No newline at end of file diff --git a/suivi_cordulegaster/sites_group.json b/suivi_cordulegaster/sites_group.json new file mode 100644 index 0000000..b3415f0 --- /dev/null +++ b/suivi_cordulegaster/sites_group.json @@ -0,0 +1,45 @@ +{ "label": "Aire d'études", + "label_list": "Aire d'études", + "map_label_field_name": "sites_group_name", + "color":"#FAF38F", + "genre": "F", + "display_properties": [ + "sites_group_name", + "sites_group_description" + ], + "display_list": [ + "sites_group_name", + "nb_sites", + "nb_visits" + ], + "specific": { + "sites_group_name": { + "required": false, + "hidden": false, + "attribut_label": "Nom de l'aire d'études", + "type_widget": "text" + }, + "sites_group_description": { + "required": false, + "hidden": true, + "attribut_label": "Remarque/description", + "type_widget": "text" + }, + "sites_group_code": { + "type_widget": "select", + "required": true, + "hidden": false, + "attribut_label": "Type d'aire d'études", + "values": ["Espace Naturel Sensible", "Natura 2000", "Réserve Naturelle","Site sous convention","Autres"] + }, + "medias": { + "required": false, + "hidden": true + }, + "nb_sites": { + "attribut_label": "Nombre de sites" + }, "nb_visits": { + "attribut_label": "Nombre de visites" + } + } + } \ No newline at end of file diff --git a/suivi_cordulegaster/synthese.sql b/suivi_cordulegaster/synthese.sql new file mode 100644 index 0000000..3123262 --- /dev/null +++ b/suivi_cordulegaster/synthese.sql @@ -0,0 +1,88 @@ +-- Vue générique pour alimenter la synthèse dans le cadre d'un protocole site-visite-observation +-- +-- Ce fichier peut être copié dans le dossier du sous-module et renommé en synthese.sql (et au besoin personnalisé) +-- le fichier sera joué à l'installation avec la valeur de module_code qui sera attribué automatiquement +-- +-- +-- Personalisations possibles +-- +-- - ajouter des champs specifiques qui peuvent alimenter la synthese +-- jointure avec les table de complement +-- +-- - choisir les valeurs de champs de nomenclatures qui seront propres au modules + + +-- ce fichier contient une variable :module_code (ou :'module_code') +-- utiliser psql avec l'option -v module_code= '{id_nomenclature_stade}'AS id_nomenclature_stade, + toc.data::json #> '{id_nomenclature_eta_bio}' AS id_nomenclature_eta_bio, + toc.data::json #> '{id_nomenclature_behaviour}' AS id_nomenclature_behaviour, + toc.data::json #> '{id_nomenclature_obs_technique}' AS id_nomenclature_obs_meth, + toc.data::json #> '{id_nomenclature_sex}' AS id_nomenclature_sex, + toc.data::json #> '{id_nomenclature_observation_status}' AS id_nomenclature_observation_status, + ref_nomenclatures.get_id_nomenclature('STATUT_SOURCE'::character varying, 'Te'::character varying) AS id_nomenclature_source_status, + ref_nomenclatures.get_id_nomenclature('TYP_INF_GEO'::character varying, '1'::character varying) AS id_nomenclature_info_geo_type, + 1 AS count_min, + 1 AS count_max, + to2.cd_nom, + t.nom_complet AS nom_cite, + alt.altitude_min, + alt.altitude_max, + tbs.geom AS the_geom_4326, + st_centroid(tbs.geom) AS the_geom_point, + tbs.geom_local AS the_geom_local, + tbv.visit_date_min AS date_min, + COALESCE(tbv.visit_date_max, tbv.visit_date_min) AS date_max, + tbv.id_base_visit AS id_visit, + tbv.visit_date_max, + tbv.id_digitiser, + tbs.id_inventor, + concat(tr.nom_role, ' ', tr.prenom_role) AS observers, + tsc.id_module, + tbv.comments AS comment_context, + to2.comments AS comment_description, + obs.ids_observers, + tbv.id_base_site, + tbv.id_base_visit + FROM gn_monitoring.t_base_sites tbs + LEFT JOIN gn_monitoring.t_site_complements tsc ON tsc.id_base_site = tbs.id_base_site + LEFT JOIN gn_monitoring.t_base_visits tbv ON tbs.id_base_site = tbv.id_base_site + LEFT JOIN observers obs ON obs.id_base_visit = tbv.id_base_visit + LEFT JOIN gn_monitoring.t_observations to2 ON to2.id_base_visit = tbv.id_base_visit + LEFT JOIN gn_monitoring.t_observation_complements toc ON toc.id_observation = to2.id_observation + LEFT JOIN utilisateurs.t_roles tr ON tr.id_role = tbv.id_digitiser + LEFT JOIN taxonomie.taxref t ON to2.cd_nom = t.cd_nom + LEFT JOIN t_source ON true + LEFT JOIN LATERAL ref_geo.fct_get_altitude_intersection(tbs.geom_local) alt(altitude_min, altitude_max) ON true + LEFT JOIN gn_commons.t_modules tm ON tm.id_module = tsc.id_module + WHERE tm.module_label::text ~~* 'SUIVI_CORDULEGASTER'::text + and to2.cd_nom is not null + and to2.uuid_observation is not null; + +GRANT SELECT ON TABLE gn_monitoring.v_synthese_suivi_cordulegaster TO geonature; \ No newline at end of file diff --git a/suivi_cordulegaster/visit.json b/suivi_cordulegaster/visit.json new file mode 100644 index 0000000..7ee19d8 --- /dev/null +++ b/suivi_cordulegaster/visit.json @@ -0,0 +1,240 @@ +{ + "display_properties": [ + "id_base_site", + "id_dataset", + "observers", + "visit_date_min", + "time_start", + "time_end", + "quadrat", + "temperature", + "cloudiness", + "rain", + "wind", + "data_abiotique", + "physicochimie_temp", + "physicochimie_ph", + "physicochimie_conductivite", + "physicochimie_O2_dissous_mg_l", + "physicochimie_tx_O2", + "habitat_hauteur_lame_eau_classe", + "habitat_hauteur_lame_eau_cm", + "habitat_hauteur_sediments_cm", + "habitat_substrat_organique", + "habitat_granulo_sediments_majoritaire", + "habitat_commentaires", + "data_labo_DBO5", + "data_labo_COD", + "data_labo_PO4", + "data_labo_Ptotal", + "data_labo_NH4", + "data_labo_NO2", + "data_labo_NO3", + "data_labo_chlorures", + "data_labo_sulfates", + "data_labo_cuivre", + "data_labo_micropolluants", + "comments" + ], + "display_list": [ + "id_base_site", + "visit_date_min", + "observers" + ], + "map_label_field_name": "base_site_name", + "specific": { + "visit_date_min": { + "attribut_label": "Date", + "required": true + }, + "time_start": { + "type_widget": "time", + "attribut_label": "Heure de début du relevé", + "required": true + }, + "quadrat": { + "type_widget": "select", + "attribut_label": "Quadrat", + "values": ["1a" ,"1b" ,"2a" ,"2b" ,"3a" ,"3b" ,"4a" ,"4b" ,"5a" ,"5b" ,"6a" ,"6b" ,"8a" ,"8b" ,"HQ"], + "required": true + }, + "temperature": { + "type_widget": "number", + "attribut_label": "Température au début du relevé", + "required": true + }, + "cloudiness": { + "type_widget": "select", + "attribut_label": "Couverture nuageuse", + "values": ["0 à 10%","10 à 25%", "25 à 50%", "Plus de 50%"], + "required": true + }, + "rain": { + "type_widget": "select", + "attribut_label": "Pluie", + "values": ["Pas de précipitations","Averses", "Pluie continue", "Orage"], + "required": true + }, + "wind": { + "type_widget": "select", + "attribut_label": "Vent", + "values": ["Nul","Faible", "Moyen", "Soutenu", "Rafales"], + "required": true + }, + "data_abiotique": { + "type_widget": "radio", + "attribut_label": "Transmission de données abiotiques ?", + "values": ["Physico-chimie", "Habitat", "Données laboratoire", "Non"], + "default": "Non", + "required": true + }, + "physicochimie_temp": { + "type_widget": "number", + "attribut_label": "Physico-chimie - Température", + "hidden": "({value}) => value.data_abiotique != 'Physico-chimie'", + "required": false + }, + "physicochimie_ph": { + "type_widget": "number", + "attribut_label": "Physico-chimie - Ph", + "hidden": "({value}) => value.data_abiotique != 'Physico-chimie'", + "required": false + }, + "physicochimie_conductivite": { + "type_widget": "number", + "attribut_label": "Physico-chimie - Conductivitée", + "hidden": "({value}) => value.data_abiotique != 'Physico-chimie'", + "required": false + }, + "physicochimie_O2_dissous_mg_l": { + "type_widget": "number", + "attribut_label": "Physico-chimie - O2 dissous mg/l", + "hidden": "({value}) => value.data_abiotique != 'Physico-chimie'", + "required": false + }, + "physicochimie_tx_O2": { + "type_widget": "number", + "attribut_label": "Physico-chimie - taux O2 (%)", + "hidden": "({value}) => value.data_abiotique != 'Physico-chimie'", + "required": false + }, + "habitat_hauteur_lame_eau_classe": { + "type_widget": "select", + "attribut_label": "Habitat - Lame eau classe", + "values": ["0","0,5 à 4", "4 à 8", "8 à 15", "15 à 20", "plus de 20"], + "hidden": "({value}) => value.data_abiotique != 'Habitat'", + "required": false + }, + "habitat_hauteur_lame_eau_cm": { + "type_widget": "number", + "attribut_label": "Habitat - Hauteur lame d'eau (cm)", + "hidden": "({value}) => value.data_abiotique != 'Habitat'", + "required": false + }, + "habitat_hauteur_sediments_cm": { + "type_widget": "number", + "attribut_label": "Habitat - Hauteur sediments (cm)", + "hidden": "({value}) => value.data_abiotique != 'Habitat'", + "required": false + }, + "habitat_substrat_organique": { + "type_widget": "select", + "attribut_label": "Habitat - Substrat organique", + "values": ["Absence","Traces/présence", "Majoritaire"], + "hidden": "({value}) => value.data_abiotique != 'Habitat'", + "required": false + }, + "habitat_granulo_sediments_majoritaire": { + "type_widget": "select", + "attribut_label": "Habitat - Granulo sediments majoritaire", + "values": ["<2mm","25mm"], + "hidden": "({value}) => value.data_abiotique != 'Habitat'", + "required": false + }, + "habitat_commentaires": { + "type_widget": "textarea", + "attribut_label": "Habitat - Commentaires", + "hidden": "({value}) => value.data_abiotique != 'Habitat'", + "required": false + }, + "data_labo_DBO5": { + "type_widget": "textarea", + "attribut_label": "Labo - DBO5 (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_COD": { + "type_widget": "textarea", + "attribut_label": "Labo - COD (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_PO4": { + "type_widget": "textarea", + "attribut_label": "Labo - PO4 (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_Ptotal": { + "type_widget": "textarea", + "attribut_label": "Labo - Ptotal (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_NH4": { + "type_widget": "textarea", + "attribut_label": "Labo - NH4 (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_NO2": { + "type_widget": "textarea", + "attribut_label": "Labo - NO2 (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_NO3": { + "type_widget": "textarea", + "attribut_label": "Labo - NO3 (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_chlorures": { + "type_widget": "textarea", + "attribut_label": "Labo - Chlorures (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_sulfates": { + "type_widget": "textarea", + "attribut_label": "Labo - Sulfates (mg/l)", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_cuivre": { + "type_widget": "textarea", + "attribut_label": "Labo - Cuivre µg/l", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "data_labo_micropolluants": { + "type_widget": "textarea", + "attribut_label": "Labo - Micropolluants", + "hidden": "({value}) => value.data_abiotique != 'Données laboratoire'", + "required": false + }, + "comments": { + "type_widget": "textarea", + "attribut_label": "Commentaires", + "required": false + }, + "time_end": { + "type_widget": "time", + "attribut_label": "Heure de fin du relevé", + "required": false + }, + "medias": { + "hidden": true + } + } +} \ No newline at end of file