Projet

Général

Profil

Actions

Anomalie #4930

fermé

AttrToPhp et retour d'erreur si le nom de la famille "fromid" n'est pas trouvé dans "docread"

Ajouté par Jérôme Augé il y a plus de 11 ans. Mis à jour il y a plus de 11 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
19/08/2014
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:

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).

Principaux fichiers impactés:
Complexité:
Contrôle:
Thème:
Socle technique
Régression:

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 Jérôme Augé il y a plus de 11 ans

  • % réalisé changé de 0 à 100

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.

Actions

Formats disponibles : Atom PDF