Anomalie #4930
ferméAttrToPhp et retour d'erreur si le nom de la famille "fromid" n'est pas trouvé dans "docread"
100%
1. Ajouter un test sur la présence obligatoire du nom lors de la construction de la famille
2. Ajouter un test sur l'analyse syntaxique du fichier produit PHP (voir CheckClass:checkClassFile())
avant d’enregistrer celui-ci
3. Ajouter un test dans le superviseur qui vérifie :
3.1 . Toutes les familles ont un nom logique (doc, docread, docname)
3.2 - Le nombre de document de "docread" est égal à celui de "doc" (docread ne contient pas les documents temporaires).
Description
Si la définition d'une famille parente est absente de "docread", alors la génération de code par AttrToPhp va générer une classe invalide de la forme :
namespace Dcp\Family {
class Foo extends \Dcp\Family\ {
Alors qu'on devrait avoir par exemple :
namespace Dcp\Family {
class Foo extends \Dcp\Family\BAR {
L'instruction qui cherche le nom correspondant à l'identifiant "fromid" devrait générer une erreur si le nom retourné est vide :
$tdoc["fromname"] = getNameFromId($dbaccess, $tdoc["fromid"]);
/* Retourner ici une erreur si $tdoc["fromname"] est vide */
Mis à jour par Marc Claverie il y a plus de 11 ans
- Statut changé de Nouveau à À analyser
- Assigné à mis à Éric Brison
- Version cible mis à 3.2.17
De manière générale, il faut traiter tous les cas pouvant amener à la génération de code incorrect. La classe ne doit pas être générée, un erreur doit être remontée.
Mis à jour par Éric Brison il y a plus de 11 ans
- Statut changé de À analyser à Assigné
- Assigné à changé de Éric Brison à Jérôme Augé
- Solution proposée mis à jour (diff)
Mis à jour par Éric Brison il y a plus de 11 ans
- Statut changé de Assigné à Intégré
Appliqué par commit dynacase-core|commit:3bd4742e4b0e80554c6f6884f9d5a8a1bd1e4b08.