[Zope-CMF] Re: Forcing a workflow state

Florent Guillaume fg at nuxeo.com
Tue Jan 24 19:17:13 EST 2006


Martin Aspeli wrote:
> I'm writing some migration code that needs to force a workflow state. 
> That is, a given content item has a workflow with states A, B and C, and 
> depending on some external state, I  need to force it to be in state B, 
> including having B's security settings.
> 
> I've had a look at the API, but it's all very geared towards transitions 
> rather than setting states explicitly. Before I resort to pdb, does 
> anyone know the relevant part of the DCWorkflow API I should use to 
> force a state? I don't mind mucking about with internals, obviously.

Calling portal_workflow.setStatusOf(...) should be enough. You'll have 
to pass a status dict containing at least {wf.state_var: state_id}, you 
should also set the other variables your application expects.

Then update the security mappings by calling wf.updateRoleMappingsFor(ob).


Florent


-- 
Florent Guillaume, Nuxeo (Paris, France)   Director of R&D
+33 1 40 33 71 59   http://nuxeo.com   fg at nuxeo.com


More information about the Zope-CMF mailing list