Projet

Général

Profil

Actions

Anomalie #4162

fermé

[Contrôle de vue] Problème pour un mask changeant le need d'un attribut pour les transitions d'un workflow

Ajouté par Emmanuel ESCOLA il y a presque 13 ans. Mis à jour il y a presque 13 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
17/07/2013
Echéance:
% réalisé:

100%

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

Le problème se situe au niveau du masque du contrôle de vue et non du masque du cycle de vie.

Sur la méthode Doc::setMask($mid);

Ajout de 2 constantes:
Doc::USEMASKCVVIEW = -1
Doc::USEMASKCVEDIT = -2

Si $mid vaut une des 2 constantes le masque du cv par défaut est utilisé.

Dans WDOC - appeler $this->doc->setMask(Doc::USEMASKCVEDIT) au début du changeState.

Dans viewcard.php utiliser $this->doc->setMask(Doc::USEMASKCVVIEW)
Dans editcard.php utiliser $this->doc->setMask(Doc::USEMASKCVEDIT)

pour factoriser le code.

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

Description

Testé en 3.2.9

Soient deux familles FAM1 et FAM2. FAM2 hérite de FAM1.

Dans FAM1 on a un ATTR attr1 qui n'est pas obligatoire.
Dans FAM2 on redéfinit attr1 en needed :
MODATTR;attr1;;;;;;;;Y;;;;;;;

La famille FAM2 a 4 états e1 e2 e3 et e4 et le workflow suivant e1 -> t1 -> e2 -> t2 -> e3 -> t3 -> e4
On applique un MASK pour que attr1 ne soit pas obligatoire à l'état e1 (dans le MASK on met N dans la colonne msk_needeeds pour attr1)

Le masque est bien appliqué car à l'état e1 attr1 n'est pas obligatoire en édition et il l'est pour les 3 autres états.

Problème :

Lorsqu'on effectue la transition t1 (pour passer de l'état e1 à l'état e2) une erreur est levée et empêche d'effectuer la transition avec comme message :
Attr 1 doit être rempli

Il n'y a aucune contrainte mise en place dans le m0 de la transition t1.


Fichiers

Class.WDEV_4162.php (1017 octets) Class.WDEV_4162.php Jérôme Augé, 17/07/2013 17:51
DEV_4162.csv (6,55 ko) DEV_4162.csv Jérôme Augé, 17/07/2013 17:51
Actions

Formats disponibles : Atom PDF