View Trackers | Bugs | Export CSV

Date:
2020-10-28 11:35
Priority:
1
State:
Open
Submitted by:
francois raynaud (fraynaud)
Assigned to:
Nobody (None)
Resolution:
none
Version concernée:
v4.1.0
Sévérité:
mineur
Version cible:
none
Summary:
contrainte de saisie du terme dans tarif pour concession à perpétuité

Detailed description

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

No attached documents

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