Skip to content

Impossible d'utiliser une nomenclature dynamique #534

@dece

Description

@dece

Bonjour, j'essaye de paramétrer un groupe de site pour avoir différents paramètres d'habitats, organisés en plusieurs niveaux. Il faudrait par exemple que le type de nomenclature du niveau 2 puisse être dynamiquement modifié en fonction de la sélection de l'utilisatrice pour le niveau 1. Lorsque j'essaye de configurer un paramètre dynamique — ici pour habitat_main_2 avec une fonction bidon mais qui rendrait idéalement une valeur en fonction de la valeur de habitat_main_1 — j'ai l'erreur suivante.

Nomenclature :

"habitat_main_1": {
  "type_widget": "nomenclature",
  "attribut_label": "Habitat principal (niveau 1)",
  "code_nomenclature_type": "STERF_HAB_N1",
  "required": true,
  "type_util": "nomenclature"
},
"habitat_main_2": {
  "type_widget": "nomenclature",
  "attribut_label": "Habitat principal (niveau 2)",
  "code_nomenclature_type": "({value}) => 'STERF_HAB_N2'",
  "required": true,
  "type_util": "nomenclature"
},

Erreur :

Traceback (most recent call last):
  File "/home/geonatureadmin/geonature/backend/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/geonatureadmin/geonature/backend/venv/lib/python3.11/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/geonatureadmin/geonature/backend/dependencies/Utils-Flask-SQLAlchemy/src/utils_flask_sqla/response.py", line 19, in _json_resp
    res = fn(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^
  File "/home/geonatureadmin/modules/gn_module_monitoring/backend/gn_module_monitoring/routes/data_utils.py", line 91, in get_init_data
    for nomenclature in nomenclature_list["values"]:
                        ~~~~~~~~~~~~~~~~~^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable

Dois-je en conclure que ça n'est pas possible d'avoir une nomenclature dynamique ?

Je suis ouvert aux suggestions pour implémenter ça autrement, j'avais pensé à essayer de tout mettre dans une seule nomenclature et filtrer les choix du select avec un paramètre dynamique, sans succès ( comme dans #504 ). J'ai également essayé de définir mon paramètre en datalist et rendre dynamique le paramètre "api" pour faire la nomenclature à fetch dynamiquement, mais même erreur.

Geonature v2.15.4 et module monitoring 1.0.3.

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions