[Zope-CMF] programmatically change workflow state

Gitte Wange gitte@babytux.dk
Mon, 27 Aug 2001 16:47:54 +0200


At 07:33 27-08-2001 -0400, you wrote:
>Gitte Wange wrote:
>
>> On Wednesday 15 August 2001 13:25, Florent Guillaume wrote:
>> 
>>>>Does this look correct ? It's a bit DCWorkflow-centric unfortunately,
>>>>because WorkflowTool doesn't expose any method to force a state change.
>>>>
>>>Oops, I just found WorkflowTool.setStatusOf ... I guess it answers this
>>>part of the question :-)
>
>> 
>> I just tried this because I am attaching a memer picture for each
member. And 
>> it want it to have status=pending when it has been added (so the members 
>> don't have to find the picture object themselves and submit it).
>> 
>> But there are no pending reviews afterwards and when I try to view the 
>> picture object I get an error. 
>> 
>> So .. any good hints??
>> 
>> All I have done was to change the security of the method setStatusOf in
the 
>> WorkflowTool module (from private to public) and then call it.
>> Something I have missed ?
>
>
>'setStatusOf' was private because it was intended to be called
>only by other "machinery";  you likely want 'doActionFor', passing
>the "transition name", as 'setStatusOf' is supposed to pass more
>data than you are probably using.
>

Okay ... looking at the WorkflowTool.doActionFor method I see you can pass
a lot to that function.
So let me see if I get this:
the ob argument is the object I want to do something with.
the action argument would - in this case - be 'setStatusOf'
the wf_if is 'default_workflow'
I can leave out the **args and the **kw arguments ??

Greetings,
Gitte Wange