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 [EMAIL PROTECTED]
_______________________________________________
Zope-CMF maillist - Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf
See http://collector.zope.org/CMF for bug reports and feature requests