<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="sample-diagram" targetNamespace="http://bpmn.io/schema/bpmn" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
  <bpmn2:process id="Process_1" isExecutable="false">
    <bpmn2:startEvent id="StartEvent_1">
      <bpmn2:outgoing>Flow_086f3o0</bpmn2:outgoing>
    </bpmn2:startEvent>
    <bpmn2:serviceTask id="Activity_get_userName" name="Récupérer Nom Agent" camunda:delegateExpression="getUserName">
      <bpmn2:extensionElements>
        <camunda:inputOutput>
          <camunda:inputParameter name="userId">
            <camunda:script scriptFormat="JavaScript">data.formcreator_field_372</camunda:script>
          </camunda:inputParameter>
        </camunda:inputOutput>
      </bpmn2:extensionElements>
      <bpmn2:incoming>Flow_086f3o0</bpmn2:incoming>
      <bpmn2:outgoing>Flow_get_name_to_init</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:scriptTask id="Activity_init_ticket" name="Init fiche départ" scriptFormat="JavaScript">
      <bpmn2:incoming>Flow_get_name_to_init</bpmn2:incoming>
      <bpmn2:incoming>Flow_1172acg</bpmn2:incoming>
      <bpmn2:outgoing>Flow_03v1ry1</bpmn2:outgoing>
      <bpmn2:script>let newTicket = {
    id: 0,
    title: "WKF - Fiche départ agent " + this.data.agentName,
    description: [
        "ID de l'agent : " + data.formcreator_field_372,
        "Type de l'agent : " + data.formcreator_field_373,
        "ID de l'affectation actuelle : " + data.formcreator_field_374,
        "Date officielle de départ : " + data.formcreator_field_375,
        "Date de dernier jour de présence : " + data.formcreator_field_376,
        "Demande de sauvegarde messagerie ? : " + data.formcreator_field_377,
        "Remplacement prévu dans les 3 mois ? : " + data.formcreator_field_378
    ].join("\n"),
    users_id_requester: data.formcreator_field_372,
    groups_id_assign: 23,
type: 2,
                  location_id: 2,
                        urgency: 2,
                        impact: 2,
                        priority: 2,
};

this.data.tickets = newTicket;

let ticketValidation = {
    input: {
        comment_submission: "Validation requise par lle groupe techos",
    }
};

this.data.ticketValidation = ticketValidation;

// Ne pas initialiser de compteur de cycles</bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:serviceTask id="Activity_create_ticket" name="Transmission à l&#39;entité d&#39;affectation" camunda:delegateExpression="createTicket">
      <bpmn2:extensionElements>
        <camunda:inputOutput>
          <camunda:inputParameter name="tickets">
            <camunda:script scriptFormat="JavaScript">this.data.tickets</camunda:script>
          </camunda:inputParameter>
          <camunda:inputParameter name="ticketValidation">
            <camunda:script scriptFormat="JavaScript">this.data.ticketValidation</camunda:script>
          </camunda:inputParameter>
        </camunda:inputOutput>
      </bpmn2:extensionElements>
      <bpmn2:incoming>Flow_03v1ry1</bpmn2:incoming>
      <bpmn2:outgoing>Flow_0ub3yh2</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:serviceTask id="Activity_entity_validation" name="Validation entité affectation" camunda:delegateExpression="pollTicketValidation">
      <bpmn2:incoming>Flow_0ub3yh2</bpmn2:incoming>
      <bpmn2:outgoing>Flow_0ymsrnw</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:sequenceFlow id="Flow_get_name_to_init" sourceRef="Activity_get_userName" targetRef="Activity_init_ticket" />
    <bpmn2:sequenceFlow id="Flow_03v1ry1" sourceRef="Activity_init_ticket" targetRef="Activity_create_ticket" />
    <bpmn2:sequenceFlow id="Flow_0ub3yh2" sourceRef="Activity_create_ticket" targetRef="Activity_entity_validation" />
    <bpmn2:endEvent id="Event_end" name="Fin">
      <bpmn2:incoming>Flow_0b1ochn</bpmn2:incoming>
    </bpmn2:endEvent>
    <bpmn2:sequenceFlow id="Flow_086f3o0" sourceRef="StartEvent_1" targetRef="Activity_get_userName" />
    <bpmn2:exclusiveGateway id="Gateway_0yldgiw">
      <bpmn2:incoming>Flow_0ymsrnw</bpmn2:incoming>
      <bpmn2:outgoing>Flow_13bw5cm</bpmn2:outgoing>
      <bpmn2:outgoing>Flow_1172acg</bpmn2:outgoing>
    </bpmn2:exclusiveGateway>
    <bpmn2:sequenceFlow id="Flow_0ymsrnw" sourceRef="Activity_entity_validation" targetRef="Gateway_0yldgiw" />
    <bpmn2:sequenceFlow id="Flow_13bw5cm" sourceRef="Gateway_0yldgiw" targetRef="Activity_1nx8s7l">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="JavaScript">this.data.ticketValidated === true</bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
    <bpmn2:sequenceFlow id="Flow_1jtzs6u" sourceRef="Activity_1nx8s7l" targetRef="Activity_1aytesa" />
    <bpmn2:scriptTask id="Activity_1nx8s7l" name="update ticket" scriptFormat="JavaScript">
      <bpmn2:incoming>Flow_13bw5cm</bpmn2:incoming>
      <bpmn2:outgoing>Flow_1jtzs6u</bpmn2:outgoing>
      <bpmn2:script>// Préparer la mise à jour du ticket avec le validateur comme nouvel assigné
this.data.ticketUpdate = {
    id: this.data.ticketId,
    users_id_assign: data.approvedBy,
    users_id_observer: 22
};

// Créer une nouvelle demande de validation pour l'utilisateur qui a validé
this.data.ticketValidation = {
    input: {
        users_id_validate: data.approvedBy,
        comment_submission: "Validation requise par l'agent assigné"
    }
};</bpmn2:script>
    </bpmn2:scriptTask>
    <bpmn2:sequenceFlow id="Flow_0gx3wlg" sourceRef="Activity_1aytesa" targetRef="Activity_1mom1m9" />
    <bpmn2:serviceTask id="Activity_1aytesa" name="updateTicket" camunda:delegateExpression="updateTicket">
      <bpmn2:extensionElements>
        <camunda:inputOutput>
          <camunda:inputParameter name="ticketUpdate">
            <camunda:script scriptFormat="JavaScript">this.data.ticketUpdate</camunda:script>
          </camunda:inputParameter>
          <camunda:inputParameter name="ticketValidation">
            <camunda:script scriptFormat="JavaScript">this.data.ticketValidation</camunda:script>
          </camunda:inputParameter>
        </camunda:inputOutput>
      </bpmn2:extensionElements>
      <bpmn2:incoming>Flow_1jtzs6u</bpmn2:incoming>
      <bpmn2:outgoing>Flow_0gx3wlg</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:sequenceFlow id="Flow_0b1ochn" sourceRef="Activity_1mom1m9" targetRef="Event_end" />
    <bpmn2:serviceTask id="Activity_1mom1m9" name="poll" camunda:delegateExpression="pollTicketValidation">
      <bpmn2:incoming>Flow_0gx3wlg</bpmn2:incoming>
      <bpmn2:outgoing>Flow_0b1ochn</bpmn2:outgoing>
    </bpmn2:serviceTask>
    <bpmn2:sequenceFlow id="Flow_1172acg" sourceRef="Gateway_0yldgiw" targetRef="Activity_init_ticket">
      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="JavaScript">this.data.ticketValidated === false</bpmn2:conditionExpression>
    </bpmn2:sequenceFlow>
  </bpmn2:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
      <bpmndi:BPMNEdge id="Flow_0b1ochn_di" bpmnElement="Flow_0b1ochn">
        <di:waypoint x="1200" y="120" />
        <di:waypoint x="1252" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0gx3wlg_di" bpmnElement="Flow_0gx3wlg">
        <di:waypoint x="1060" y="120" />
        <di:waypoint x="1100" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1jtzs6u_di" bpmnElement="Flow_1jtzs6u">
        <di:waypoint x="920" y="120" />
        <di:waypoint x="960" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_13bw5cm_di" bpmnElement="Flow_13bw5cm">
        <di:waypoint x="785" y="120" />
        <di:waypoint x="820" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0ymsrnw_di" bpmnElement="Flow_0ymsrnw">
        <di:waypoint x="660" y="120" />
        <di:waypoint x="735" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_086f3o0_di" bpmnElement="Flow_086f3o0">
        <di:waypoint x="8" y="120" />
        <di:waypoint x="100" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0ub3yh2_di" bpmnElement="Flow_0ub3yh2">
        <di:waypoint x="500" y="120" />
        <di:waypoint x="560" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_03v1ry1_di" bpmnElement="Flow_03v1ry1">
        <di:waypoint x="340" y="120" />
        <di:waypoint x="400" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_get_name_to_init_di" bpmnElement="Flow_get_name_to_init">
        <di:waypoint x="200" y="120" />
        <di:waypoint x="240" y="120" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1172acg_di" bpmnElement="Flow_1172acg">
        <di:waypoint x="760" y="145" />
        <di:waypoint x="760" y="350" />
        <di:waypoint x="290" y="350" />
        <di:waypoint x="290" y="160" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_1" bpmnElement="StartEvent_1">
        <dc:Bounds x="-28" y="102" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_get_userName_di" bpmnElement="Activity_get_userName">
        <dc:Bounds x="100" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_init_ticket_di" bpmnElement="Activity_init_ticket">
        <dc:Bounds x="240" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_create_ticket_di" bpmnElement="Activity_create_ticket">
        <dc:Bounds x="400" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_entity_validation_di" bpmnElement="Activity_entity_validation">
        <dc:Bounds x="560" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_end_di" bpmnElement="Event_end">
        <dc:Bounds x="1252" y="102" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1298" y="113" width="16" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_0yldgiw_di" bpmnElement="Gateway_0yldgiw" isMarkerVisible="true">
        <dc:Bounds x="735" y="95" width="50" height="50" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0ag85t0_di" bpmnElement="Activity_1nx8s7l">
        <dc:Bounds x="820" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0cz50jg_di" bpmnElement="Activity_1aytesa">
        <dc:Bounds x="960" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1477771_di" bpmnElement="Activity_1mom1m9">
        <dc:Bounds x="1100" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn2:definitions>
