AnsweredAssumed Answered

solo cambia los permisos al primer usuario (en workflow)

Question asked by giorgio on Oct 1, 2009
Latest reply on Oct 5, 2009 by giorgio
Cual puede ser el problema en el siguiente código de mi parallelreview_processdefinition.xml? os cuento lo que me ocurre, con este codigo lo que hago es recorrer los adjuntos que tiene el flujo de trabajo y por cada documento le rompo la herencia le quito permisos y le asigno permisos de consumidor para los usuarios del workflow, entonces pregunto, si me esta enviando un correo a cada uno de los usuarios, porque los permisos solo los asigna al primer usuario?es decir solo puede ver el adjunto el primer usuario que asigno en el flujo de trabajo, pero los demas no pueden verlo. A que puede deberse esto? sin embargo la tarea llega a todos y el correo tambien.

saludos y gracias de antemano.


<?xml version="1.0" encoding="UTF-8"?>

<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:parallelreview">

    <swimlane name="initiator"></swimlane>

    <start-state name="start">
        <task name="wf:submitParallelReviewTask" swimlane="initiator"/>
        <transition name="" to="startreview"/>
    </start-state>

    <node name="startreview">
        <action class="org.alfresco.repo.workflow.jbpm.ForEachFork">
            <foreach>#{bpm_assignees}</foreach>
            <var>reviewer</var>
        </action>

        <event type="node-enter">
            <script>
                <variable name="wf_approveCount" access="write" />
                <expression>
                    wf_approveCount = 0;
                </expression>
            </script>
        </event>
        <transition name="review" to="review" />
    </node>

    <task-node name="review">
        <task name="wf:reviewTask">
            <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
               <actor>#{reviewer}</actor>
            </assignment>
        </task>
<event type="node-enter">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>


for (var i = 0; i &lt; bpm_package.children.length; i++)
{

bpm_package.children[i].setInheritsPermissions(false);

var permissions = bpm_package.children[i].permissions;
var acl=[];
for (var j=0; j &lt; permissions.length; j++)
{
acl = permissions[j].split(";");
var perm=acl[2];
var grp=acl[1];
bpm_package.children[i].removePermission(perm,grp);

}

bpm_package.children[i].setPermission("Consumer", reviewer.properties["cm:userName"]);

}


           var mail = actions.create("mail");
           mail.parameters.to = "correo@correo.es";
           mail.parameters.subject = "Notificacion de tarea asignada";
           mail.parameters.from = "noreply@notasinternas.edu.gva.es";
           mail.parameters.text = reviewer.properties["cm:userName"]+"No responda a este mensaje.Tiene una tarea ASIGNADA debe revisarla aqui http://notasinternas.edu.gva.es";
           mail.execute(bpm_package);

</script>
</action>
</event>
        <transition name="reject" to="endreview" />
        <transition name="approve" to="endreview">
            <script>
                <variable name="wf_approveCount" access="read,write" />
                <expression>
                    wf_approveCount = wf_approveCount +1;
                 </expression>
            </script>
        </transition>
    </task-node>

    <join name="endreview">
        <transition to="isapproved" />
    </join>

    <decision name="isapproved">
        <event type="node-enter">
           <script>
              <variable name="wf_reviewerCount" access="write"/>
              <variable name="wf_requiredPercent" access="write"/>
              <variable name="wf_actualPercent" access="write"/>
              <expression>
                  wf_requiredPercent = wf_requiredApprovePercent;
                  wf_reviewerCount = bpm_assignees.size();
                  wf_actualPercent = ((wf_approveCount * 100) / wf_reviewerCount);
              </expression>
           </script>
        </event>
        <transition name="reject" to="rejected" />
        <transition name="approve" to="approved">
            <condition>#{wf_actualPercent >= wf_requiredApprovePercent}</condition>
        </transition>
    </decision>
              
    <task-node name="rejected">
        <transition to="end" />
    </task-node>

    <task-node name="approved">
        <transition to="end" />
    </task-node>

    <end-state name="end"/>

</process-definition>

Outcomes