PnX-SI / gn_module_ZH

Module de GeoNature d'inventaire des zones humides
GNU General Public License v3.0
4 stars 6 forks source link

Modification d'une ZH existante pb formulaire 4, 6 et 7 #80

Open JulesGrillot opened 3 weeks ago

JulesGrillot commented 3 weeks ago

Lors de l'édition d'une fiche déjà réalisée, enregistrer le formulaire 4 et 6 avec une entrée d'eau déjà présente et un statut de protection déjà présent créé une erreur : image

Dans les logs postgres on peut voir ça

2024-08-22 11:32:28.003 CEST [98404] user@db ERREUR:  la valeur d'une clé dupliquée rompt la contrainte unique « pk_t_inflow »
2024-08-22 11:32:28.003 CEST [98404] user@db DÉTAIL:  La clé « (id_inflow, id_zh)=(1601, 1964) » existe déjà.
2024-08-22 11:32:28.003 CEST [98404] user@db INSTRUCTION :  INSERT INTO pr_zh.t_inflow (id_inflow, id_zh, id_permanance, topo) VALUES (1601, 1964, 1613, NULL)
2024-08-22 11:32:36.545 CEST [98405] user@db ERREUR:  la valeur d'une clé dupliquée rompt la contrainte unique « pk_cor_zh_protection_id_protection_status »
2024-08-22 11:32:36.545 CEST [98405] user@db DÉTAIL:  La clé « (id_protection, id_zh)=(19, 1964) » existe déjà.
2024-08-22 11:32:36.545 CEST [98405] user@db INSTRUCTION :  INSERT INTO pr_zh.cor_zh_protection (id_protection, id_zh) VALUES (19, 1964)

L'erreur proviendrait de ces lignes : https://github.com/PnX-SI/gn_module_ZH/blob/3ffb8d1d5119c8345e0e2fce1b487666627f1b27/backend/gn_module_zh/forms.py#L607

https://github.com/PnX-SI/gn_module_ZH/blob/3ffb8d1d5119c8345e0e2fce1b487666627f1b27/backend/gn_module_zh/forms.py#L823

Comme pour les autres formulaires il faudrait réaliser un delete avant le post au lieu d'un select

DB.session.execute(delete(TInflow).where(TInflow.id_zh == id_zh)) DB.session.execute(delete(CorZhProtection).where(CorZhProtection.id_zh == id_zh))

Même problème avec le formulaire 7 et les actions : https://github.com/PnX-SI/gn_module_ZH/blob/3ffb8d1d5119c8345e0e2fce1b487666627f1b27/backend/gn_module_zh/forms.py#L931

DB.session.execute(delete(TActions).where(TActions.id_zh == id_zh))

camillemonchicourt commented 3 weeks ago

Quelles versions de GN et du module ?

JulesGrillot commented 3 weeks ago

Geonature : 2.14.2 ZH : 1.3.1

J'ai créé une pull request : https://github.com/PnX-SI/gn_module_ZH/pull/81

J'ai recréé une pull request (je ne savais pas qu'en supprimant le fork ça supprimait également la pull request...) : https://github.com/PnX-SI/gn_module_ZH/pull/83

edelclaux commented 2 weeks ago

La suppression du fork supprime toute le projet github: le code, les pr, les issues, etc. Du coup, t'as recréé un fork ?Ou t'as réussit à le dé-supprimer ? Toujours utile comme info :)

JulesGrillot commented 2 weeks ago

J'ai pas essayé de le dé-supprimer, je n'ai pas retrouvé le fork une fois celui-ci supprimé. Je l'ai juste recrée du coup.

Ouais on apprend tous les jours, ça va que c'était pas très compliqué comme modifs...