accessRequest.bpmn20.xml revision 30b5c8b1dab481492633f1a4a9a9ad28d1ac96b2
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac xmlns:activiti="http://activiti.org/bpmn"
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac targetNamespace="Examples" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac http://www.omg.org/spec/BPMN/20100524/MODEL http://local.openicf.forgerock.org/BPMN20.xsd">
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac <process id="accessRequest" name="Access request process">
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac <startEvent id="start" activiti:initiator="startUserId" />
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac <sequenceFlow sourceRef="start" targetRef="readUserData"/>
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac <scriptTask id="readUserData" name="Prepare Task" scriptFormat="groovy" activiti:autoStoreVariables="true">
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac user = openidm.read("managed/user/" + startUserId)
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac params = [ _queryId: 'getManager', userId: startUserId];
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac candidateManagers = openidm.query('endpoint/getusermanager', params).result
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac hasBusiness = (user.accounts != null && user.accounts.contains("Business"))
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac hasProject = (user.accounts != null && user.accounts.contains("Project"))
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac execution.setVariable('candidateManagers', candidateManagers)
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac <sequenceFlow sourceRef="readUserData" targetRef="userAccessRequest"/>
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac <userTask id="userAccessRequest" name="User Access Request" activiti:assignee="${startUserId}">
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac <extensionElements>
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac name="Access to Business system "
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac expression="#{hasBusiness}"
a0c5d844897894f20544288aa010623829ba12c4Jean-Noel Rouvignac type="boolean"/>
<userTask id="managerApproval" name="User Access Request Approval" activiti:candidateUsers="${candidateManagers}">
<userTask id="escalationApproval" name="User Access Request Approval Escalation" activiti:assignee="superadmin">
<userTask id="administratorApproval" name="User Access Request Approval" activiti:assignee="systemadmin">
<exclusiveGateway id="adminDecisionMadeGateway" name="Administrator Decision Made"></exclusiveGateway>
newAccounts.push("Business")
newAccounts.push("Project")
java.text.SimpleDateFormat formatUTC = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S'Z'");
requestDate = formatUTC.format(new Date());
java.text.SimpleDateFormat formatUTC = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S'Z'");
requestDate = formatUTC.format(new Date());