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