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

Reply via email to