Voir les traceurs | Bugs | Exporter au format CSV

Date :
28/10/2020 11:35
Priorité :
1
État :
Open
Proposé par :
francois raynaud (fraynaud)
Confié à :
Nobody (None)
Resolution :
none
Version concernée :
v4.1.0
Sévérité :
mineur
Version cible :
none
Résumé :
contrainte de saisie du terme dans tarif pour concession à perpétuité

Description détaillée

Bravo pour les contraintes de saisie en base de données ... mais :

La contrainte dans la base qui n accepte pas de durée supérieure à 0 pour une concession à perpétuité est insufisament protégé dans le module tarif.class.php.
En effet, en création, je mets temporaire, je mets un chiffre dans le terme puis je reviens et je mets perpétuité.
Cela sort une erreur non explicite (une erreur s est produite)

La contrainte en base de données sur tarif suivante n'est pas respectée :
CONSTRAINT check_tarif_terme_duree CHECK (((((terme)::text = 'temporaire'::text) AND (duree > (0)::double precision)) OR (((terme)::text = 'perpetuite'::text) AND (duree = (0)::double precision))))

car la requete envoyée en base de données
INSERT INTO opencimetiere.tarif (tarif,annee,origine,terme,duree,nature,sepulture_type,montant,monnaie) VALUES ('3','2020','achat','perpetuite','10','concession','8','850','euro')

et on a un retour DEBUG
database::isError():
SGBD ERROR => nativecode = ERROR: new row for relation "tarif" violates check constraint "check_tarif_terme_duree"
DETAIL:
Failing row contains (3, 2020, achat, perpetuite, 10, concession, 8, 850.00, euro). DEBUG
database::isError():
PEAR ERROR => DB Error: constraint violation

A mon avis une remise à 0 du terme en cas de concession à prepetuité dans un trigger_ajouter pourrait résoudre le pb.

No comments have been posted

Pas de documents joints

No changes have been made to this item

FEDER Powered By FusionForge Collaborative Development Environment Charte d'utilisation / Nous contacter / Mentions légales Haut de page