Cedric Marfil a écrit :
Bonjour,
Ayant le besoin de créer des workflows spécifiques, je me suis intéressé
à la méthode 'verifyWorkflow' de l'installer.
J'ai donc construit un skin qui me retourne les workflows à installer,
mais pour pouvoir définir ces derniers, j'avais besoin d'accéder aux
constantes stockées dans CPSWorkflow/constants.py.
Quoi que je fasse, je n'avais jamais accès à ces constantes. Je me suis
donc inspiré de ce qui était fait dans CPSCore/permissions.py puisque
l'import de constantes de permissions fonctionnait.
J'ai donc ajouté au fichier constants.py le code suivant:
from AccessControl import ModuleSecurityInfo
security = ModuleSecurityInfo('Products.CPSWorkflow.constants')
security.declarePublic('TRANSITION_ALLOWSUB_CREATE')
TRANSITION_ALLOWSUB_CREATE = 10
security.declarePublic('TRANSITION_ALLOWSUB_DELETE')
TRANSITION_ALLOWSUB_DELETE = 11
security.declarePublic('TRANSITION_ALLOWSUB_MOVE')
TRANSITION_ALLOWSUB_MOVE = 12 # Into this container.
security.declarePublic('TRANSITION_ALLOWSUB_COPY')
TRANSITION_ALLOWSUB_COPY = 13 # Same...
.
.
.
Pour chaque constante déclarée, j'ai ajouté une déclaration de sécurité.
Maintenant, mon code fonctionne.
Est-ce la bonne solution ?
Si oui, peut-on intégrer cette modification à CPS ?
Si non, quelle est la bonne solution ?
Bonjour,
Ca n'est pas vraiment la bonne solution : ces valeurs sont protégées,
non disponibles en code restreint (scripts de skin) et n'ont pas
réellement besoin d'être mises a sa disposition
La bonne méthode consiste à placer le code qui décrit les workflows à
mettre en place en code restreint, comme c'est le cas dans l'ancienne
méthode CPSDefault/Extensions/cpsinstall.py.
La meilleure méthode consiste à utiliser la configuration xml et
GenericSetup mais cette option n'est peut-être pas disponible pour la
version que vous utilisez (?).
Cordialement,
--
Anahide Tchertchian, Nuxeo
Mail: [EMAIL PROTECTED] - Tel: +33 (0)1 40 33 71 60
http://www.nuxeo.com - http://www.cps-project.org
_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>