Julien Anguenot wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Morange Jack wrote:
  
J'ai essayé d'utiliser CPSSubscriptions mais cela me parait assez
compliqué pour une transition d'un workflow non standard. Je pensais que
ma solution était plus simple et que je touchais au but.
    

Sur le principe, c'est toujours mieux d'utiliser des fonctionnalités
standard quand elles sont présentes pour la suite. C'est un syndrome qui
est d'autant plus vrai en Python car il est souvent très rapide
d'arriver à remplacer une fonctionnalité assez rapidement. Bref, je vais
pas m'étendre sur le sujet ici ;)

  
D'autant plus que l'utilisation de CPSSubscriptions n'est pas très compliqué. La subscription se fait uniquement sur le nom de la transation quelque soit le workflow.
Dans ton cas, c'est donc l'event "workflow_create" qui sera déclenché.
Si ta creation se passe dans un Workspace, il n'y a rien de plus à faire car l'event "workflow_create" est déclaré dans le contexte Workspace (visible dans http://localhost:8080/cps/portal_subscriptions/manage_events ).
Il n'y a qu'à abonner les utilisateurs à l'évenement Create par l'action du répertoire "Gestion des alertes". En toute logique, les utilisateurs que tu souhaites abonner doivent correspondre à un rôle local.

Si ta création ne se passe pas dans un Workspace, il faut déclarer l'event dans le contexte (toujours sur l'écran http://localhost:8080/cps/portal_subscriptions/manage_events) et les rôles concernés dans le contexte (dans http://localhost:8080/cps/portal_subscriptions/manage_local_roles_in_contexts).
Si tout est ok, l'action "Gestion des alertes" apparait et tu peux abonner les utilisateurs.


  
Donc, si tu connais une solution à mon problème de"  'self' is not
defined ", peux-tu , STP, me donner une direction ?
    

oui, tu n'es pas dans une classe donc 'self' n'existe pas.
Voir le namespace disponible dans les scripts Python.

Regarde en ZMI tu dois avoir des '?' qui te donne la liste des éléments
du namespace.

Sinon,  c'est dans DCWorkflow/_expression_.py :

   data = {
        'here':         ob,
        'object':       ob,
        'container':    container,
        'folder':       container,
        'nothing':      None,
        'root':         wf.getPhysicalRoot(),
        'request':      getattr( ob, 'REQUEST', None ),
        'modules':      SecureModuleImporter,
        'user':         getSecurityManager().getUser(),
        'state_change': sci,
        'transition':   sci.transition,
        'status':       sci.status,
        'kwargs':       sci.kwargs,
        'workflow':     wf,
        'scripts':      wf.scripts,
        }

	J.
- --
Julien Anguenot | Nuxeo R&D (Paris, France)
CPS Platform : http://www.cps-project.org
Zope3 / ECM   : http://www.z3lab.org
mail: anguenot at nuxeo.com; tel: +33 (0) 6 72 57 57 66
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFDcJALGhoG8MxZ/pIRAnwwAJsGbTYiaTCE02LIlcqaH442Wq7JygCcDZes
WoRvCG/pTd3FWKOhADlM8v0=
=r4Jq
-----END PGP SIGNATURE-----
_______________________________________________
cps-users-fr 
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>

  

_______________________________________________
cps-users-fr 
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>

Répondre à