thanks for this John! i'll try refactoring my erb file :D

On Thu, Jul 30, 2009 at 7:54 PM, John Mettraux <[email protected]>wrote:

>
> On Thu, Jul 30, 2009 at 11:05 AM, raldo yeman<[email protected]>
> wrote:
> >
> > I used the following process definition.
> >
> > class Test0 < OpenWFE::ProcessDefinition
> >  sequence do
> >    concurrence do
> >      sequence do
> >        user1 :rif => "!wi.fields['approvers'].include?('user1')"
> >        _cancel_process :if => "${f:cancel} == true"
> >        user2 :rif => "!wi.fields['approvers'].include?('user2')"
> >        _cancel_process :if => "${f:cancel} == true"
> >      end
> >      sequence do
> >        user3 :rif => "!wi.fields['approvers'].include?('user3')"
> >        _cancel_process :if => "${f:cancel} == true"
> >        user4 :rif => "!wi.fields['approvers'].include?('user4')"
> >        _cancel_process :if => "${f:cancel} == true"
> >      end
> >      sequence do
> >        user5 :rif => "!wi.fields['approvers'].include?('user5')"
> >        _cancel_process :if => "${f:cancel} == true"
> >      end
> >      sequence do
> >        user6 :rif => "!wi.fields['approvers'].include?('user6')"
> >        _cancel_process :if => "${f:cancel} == true"
> >      end
> >      sequence do
> >        user7 :rif => "!wi.fields['approvers'].include?('user7')"
> >        _cancel_process :if => "${f:cancel} == true"
> >      end
> >    end
> >  end
> > end
>
> Hi Raldo,
>
> I know this isn't exactly equivalent to your process definition, but
> it could give you some simplification ideas :
>
> ---8<---
> class Test0 < OpenWFE::ProcessDefinition
>  sequence do
>
>     determine_non_approvers
>
>    concurrent_iterator :on_field => 'non-approvers', :to_field => 'u' do
>      sequence do
>        participant 'user${f:u}'
>         cancel_process :if => '${f:cancel} == true'
>      end
>    end
>  end
> end
>
> # ...
>
> engine.register_participant :determine_non_approvers do |workitem|
>
>  #workitem.fields['non-approvers'] =
>  #  list_users() - workitem.fields['approvers']
>  workitem.fields['non-approvers'] =
>    (1..7).collect { |i| "user#{i}" } - workitem.fields['approvers']
> end
> --->8---
>
>
> Best regards,
>
> --
> John Mettraux   -   http://jmettraux.wordpress.com
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
you received this message because you are subscribed to the "ruote users" group.
to post : send email to [email protected]
to unsubscribe : send email to [email protected]
more options : http://groups.google.com/group/openwferu-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to