[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