hi,

updateApproval works even if approver role ids removed from candidateGroups
and new approver role ids added works only for new users created

Test steps to reproduce the bug:
1. In the workflow xml, when approver candidate groups is updated to
include new role ids for claim / approval rights on createApproval /
updateApproval / deleteApproval and few existing role ids in the candidate
groups are deleted
3. The deleted approver role ids users continue to function on already
created users i.e. they are allowed to claim and approve updateApproval
requests for existing users in syncope.
4. The new approver role ids that were added works only on the new users
registered from the time these new approver role ids were created. They
cannot claim or approve updateApproval requests on already existing users
in syncope.

Below is the workflow xml before and after the change.
*Before:*
<userTask id="createApproval" name="Create approval"
activiti:candidateGroups="*100,150*" activiti:formKey="createApproval">
      <extensionElements>
        <activiti:formProperty id="username" name="Username" type="string"
expression="${syncopeUser.username}"
writable="false"></activiti:formProperty>
        <activiti:formProperty id="approve" name="Approve?" type="boolean"
variable="approve" required="true"></activiti:formProperty>
        <activiti:formProperty id="rejectReason" name="Reason for
rejecting" type="string" variable="rejectReason"></activiti:formProperty>
      </extensionElements>
    </userTask>


 <userTask id="updateApproval" name="Update approval"
activiti:candidateGroups="*100,150*" activiti:formKey="updateApproval">
      <extensionElements>
        <activiti:formProperty id="username" name="Username" type="string"
expression="${syncopeUser.username}"
writable="false"></activiti:formProperty>
        <activiti:formProperty id="approve" name="Approve?" type="boolean"
variable="approve" required="true"></activiti:formProperty>
        <activiti:formProperty id="rejectReason" name="Reason for
rejecting" type="string" variable="rejectReason"></activiti:formProperty>
      </extensionElements>
    </userTask>

*After:*
<userTask id="createApproval" name="Create approval"
activiti:candidateGroups="*200,250*" activiti:formKey="createApproval">
      <extensionElements>
        <activiti:formProperty id="username" name="Username" type="string"
expression="${syncopeUser.username}"
writable="false"></activiti:formProperty>
        <activiti:formProperty id="approve" name="Approve?" type="boolean"
variable="approve" required="true"></activiti:formProperty>
        <activiti:formProperty id="rejectReason" name="Reason for
rejecting" type="string" variable="rejectReason"></activiti:formProperty>
      </extensionElements>
    </userTask>


 <userTask id="updateApproval" name="Update approval"
activiti:candidateGroups="*200,250*" activiti:formKey="updateApproval">
      <extensionElements>
        <activiti:formProperty id="username" name="Username" type="string"
expression="${syncopeUser.username}"
writable="false"></activiti:formProperty>
        <activiti:formProperty id="approve" name="Approve?" type="boolean"
variable="approve" required="true"></activiti:formProperty>
        <activiti:formProperty id="rejectReason" name="Reason for
rejecting" type="string" variable="rejectReason"></activiti:formProperty>
      </extensionElements>
    </userTask>


Regards,
Suresh


______________________________________________________________________________
This mail has been scanned for viruses and spam.
______________________________________________________________________________

Reply via email to