AnsweredAssumed Answered

Problème de condition sur transition [Non Résolu]

Question asked by huberd on Apr 17, 2008
Latest reply on Apr 17, 2008 by huberd
Bonjour,

J'ai actuellement un problème pour conditionner mes transitions. Mon but est de tester une variable issue d'une classe java. Cette variable me retourne soit true soit false. Cette variable doit me conditionner l'accès à une tâche précise.

Voici le noeud du workflow correspondant.

   <!–**************************–> 
   <!–**      <Decision>      **–>
   <!–**      isapproved      **–>
   <!–**************************–> 
   <decision name="isapproved">
      <event type="node-enter">
        <action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo">
            <type>Decision</type>
            <name>isapproved</name>
            <disable>false</disable>
         </action>          
         <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
            <script>
               <variable name="lwf_requiredApprobatorPercent" access="write"/>
               <expression>lwf_requiredApprobatorPercent = lwf_requiredApprovalPercent;</expression>
            </script>
         </action>
         <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
            <script>
               <variable name="lwf_approbatorCount" access="write"/>
               <expression>lwf_approbatorCount = lwf_approvalAssignees.size();</expression>
            </script>
         </action>    
         <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">     
            <script>
               <variable name="lwf_actualApprobatorPercent" access="Write"/>
               <expression>lwf_actualApprobatorPercent = ((lwf_approvalCount * 100) / lwf_approbatorCount);</expression>
            </script>
         </action>
         <action class="lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert">
            <var>pdf</var>
         </action>      
         <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
            <script>
               logger.log("lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert return: " + pdf);
            </script>
         </action>
      </event>
      <transition name="reject" to="rejected"/>
      <!– transition name="approve" to="approvedApproval"–>
      <transition name="approve" to="qualityrequired">
         <condition>#{pdf == 'false'}</condition>
         <!– condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition–>
      </transition>  
      <transition name="published" to="published">
         <condition>#{pdf == 'true'}</condition>
      </transition>  
   </decision>

La valeur testée est pdf et elle est retournée par l'appel de la classe suivante.

<action class="lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert">
   <var>pdf</var>
</action

2 transitions doivent être aiguillées en fonction du contenu de la variable pdf

      <transition name="approve" to="qualityrequired">
         <condition>#{pdf == 'false'}</condition>
         <!– condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition–>
      </transition>  
      <transition name="published" to="published">
         <condition>#{pdf == 'true'}</condition>
         <!– condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition–>
      </transition>

A terme ces 2 conditions seront également complété par la condition suivante :

<condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition>

Merci pour votre aide.

Outcomes