diff --git a/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/Gestione Istanze - Elenco carriere inserite.yml b/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/Gestione Istanze - Elenco carriere inserite.yml new file mode 100644 index 0000000..8b4987f --- /dev/null +++ b/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/Gestione Istanze - Elenco carriere inserite.yml @@ -0,0 +1,56 @@ +info: + name: Gestione Istanze - Elenco carriere inserite + type: http + seq: 14 + +http: + method: POST + url: "{{elixFormsApiUrl}}/eftl/process/v1" + headers: + - name: x-requested-with + value: XMLHttpRequest + - name: x-api-key + value: "{{elixFormsWsAuthenticationToken}}" + - name: x-ef-request-id + value: "33380" + body: + type: json + data: |- + { + "userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script + "userContext": { + "lang": "IT", + "crlf": "\r\n" + } + } + auth: inherit + +runtime: + scripts: + - type: before-request + code: |- + // Copy-pasta your EFTL document below inside the template literals (`) + var eftlDocumentToBeProcessed = bru.setVar("elixBase64EftlDocument", btoa(String.raw` + [EFTL][HEADER name="trimDocument" value="true" type="boolean" /] + [% elencoCarriere = ""; item1 = 0; item2 = 1; %] + + [VAR name="carriereInserite" type="iterable" unique="true"][SPLIT regex="##"][TAG]GETVALUEBYTAG,CARRIERA_SELEZIONATA,REQUEST,IUQOID,CONCAT,##[/TAG][/SPLIT][/VAR] + [FOR varname="carriera" iterable="carriereInserite"] + [VAR name="carrieraIterable" type="iterable"][SPLIT regex=" - "][% carriera %][/SPLIT][/VAR] + [VAR name="nomeCarriera" type="string"][VALUE_OF varname="carrieraIterable" index="item2" /][/VAR] + [IF] + [CONDITION][IS_EMPTY varname="elencoCarriere" /][/CONDITION] + [THEN][% elencoCarriere = nomeCarriera; %][/THEN] + [ELSE][% elencoCarriere = elencoCarriere + " ; " + nomeCarriera; %][/ELSE] + [/IF] + [/FOR] + + [%= elencoCarriere %] + [/EFTL] + `)); + +settings: + encodeUrl: true + timeout: 0 + followRedirects: true + maxRedirects: 5 diff --git a/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/Notifiche email - Elenco carriere e certificati.yml b/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/Notifiche email - Elenco carriere e certificati.yml new file mode 100644 index 0000000..9599ee7 --- /dev/null +++ b/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/Notifiche email - Elenco carriere e certificati.yml @@ -0,0 +1,102 @@ +info: + name: Notifiche email - Elenco carriere e certificati + type: http + seq: 2 + +http: + method: POST + url: "{{elixFormsApiUrl}}/eftl/process/v1" + headers: + - name: x-requested-with + value: XMLHttpRequest + - name: x-api-key + value: "{{elixFormsWsAuthenticationToken}}" + - name: x-ef-request-id + value: "33380" + body: + type: json + data: |- + { + "userDocument": "{{elixBase64EftlDocument}}", // see the pre-request script + "userContext": { + "lang": "IT", + "crlf": "\r\n" + } + } + auth: inherit + +runtime: + scripts: + - type: before-request + code: |- + // Copy-pasta your EFTL document below inside the template literals (`) + var eftlDocumentToBeProcessed = bru.setVar("elixBase64EftlDocument", btoa(String.raw` + [EFTL][HEADER name="trimDocument" value="true" type="boolean" /] + [% elencoCC = "##"; item1 = 0; item2 = 1; indexInsert = 0; %] + + [VAR name="carriereInsert" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,867,COL0017,IUQOID, ,##[/TAG][/SPLIT][/VAR] + [VAR name="certificatiInsert" type="iterable"][SPLIT regex="##"][TAG]SCHEMAID,867,COL0014,IUQOID, ,##[/TAG][/SPLIT][/VAR] + [!-- + [VAR name="carriereInsert" type="iterable"][SPLIT regex="##"][% "11 - L1##11 - L1##22 - L2##11 - L1##33 - L3##11 - L1##33 - L3" %][/SPLIT][/VAR] + [VAR name="certificatiInsert" type="iterable"][SPLIT regex="##"][% "C1##C1##C2##C3##C4##C5##C6" %][/SPLIT][/VAR] + --] + [VAR name="certificatiCount" type="number"][SIZE_OF varname="certificatiInsert" /][/VAR] + + [!-- Questo ciclo produce una stringa nel seguente formato: --] + [!-- ##L1::C1;;C1;;C3;;C5##L2::C2##L3::C4;;C6 --] + [!-- dove: "##" separa i gruppi di carriera + certificati, "::" separa il nome della carriera dai suoi certificati, ";;" separa i singoli certificati della carriera --] + [WHILE threshold="99"] + [CONDITION][% indexInsert < certificatiCount %][/CONDITION] + [DO] + [VAR name="carrieraIterable" type="iterable"][SPLIT regex=" - "][VALUE_OF varname="carriereInsert" index="indexInsert" /][/SPLIT][/VAR] + [VAR name="nomeCarriera" type="string"][VALUE_OF varname="carrieraIterable" index="item2" /][/VAR] + [VAR name="nomeCertificato" type="string"][VALUE_OF varname="certificatiInsert" index="indexInsert" /][/VAR] + [IF] + [CONDITION][CONTAINS varname="elencoCC"][VALUE_OF varname="nomeCarriera" /][/CONTAINS][/CONDITION] + [THEN] + [!-- La carriera è già stata aggiunta con uno o più certificati, devo accodare quello attuale agli altri --] + [% elencoCCInner = "##"; indexInner = 0; %] + [VAR name="elencoCCInnerIterable" type="iterable"][SPLIT regex="##" emptyIfBlank="true"][VALUE_OF varname="elencoCC" /][/SPLIT][/VAR] + [VAR name="sizeOfElencoCCInner" type="number"][SIZE_OF varname="elencoCCInnerIterable" /][/VAR] + [WHILE threshold="99"] + [CONDITION][% indexInner < sizeOfElencoCCInner %][/CONDITION] + [DO] + [VAR name="nomeCarrieraInner" type="string"][VALUE_OF varname="elencoCCInnerIterable" index="indexInner" /][/VAR] + [% elencoCCInner = elencoCCInner + nomeCarrieraInner; %] + [IF] + [CONDITION][CONTAINS varname="nomeCarrieraInner"][VALUE_OF varname="nomeCarriera" /][/CONTAINS][/CONDITION] + [THEN][% elencoCCInner = elencoCCInner + ";;" + nomeCertificato; %][/THEN] + [/IF] + [% elencoCCInner = elencoCCInner + "##"; %] + [% indexInner = indexInner + 1; %] + [/DO] + [/WHILE] + [% elencoCC = elencoCCInner; %] + [/THEN] + [ELSE] + [!-- La carriera non è ancora stata aggiunta, non devo fare altro --] + [% elencoCC = elencoCC + nomeCarriera + "::" + nomeCertificato + "##"; %] + [/ELSE] + [/IF] + [% indexInsert = indexInsert + 1; %] + [/DO] + [/WHILE] + + [!-- ORA costruisco l'elenco gerarchico HTML... Avrei potuto farlo sopra, ma il blocco di logica lo posso riutilizzare per altro --] + [VAR name="elencoCertificatiPerCarriera" type="iterable"][SPLIT regex="##" emptyIfBlank="true"][VALUE_OF varname="elencoCC" /][/SPLIT][/VAR] +
    [FOR varname="gruppo" iterable="elencoCertificatiPerCarriera"] + [VAR name="gruppoIterable" type="iterable"][SPLIT regex="::"][VALUE_OF varname="gruppo" /][/SPLIT][/VAR] + [VAR name="gruppoCarriera" type="string"][VALUE_OF varname="gruppoIterable" index="item1" /][/VAR] + [VAR name="gruppoCertificatiIterable" type="iterable" unique="true"][SPLIT regex=";;"][VALUE_OF varname="gruppoIterable" index="item2" /][/SPLIT][/VAR] +
  1. [%= gruppoCarriera %]
  2. +
      [FOR varname="certificato" iterable="gruppoCertificatiIterable"]
    1. [%= certificato %]
    2. [/FOR]
    + [/FOR]
+ + [/EFTL] + `)); + +settings: + encodeUrl: true + timeout: 0 + followRedirects: true + maxRedirects: 5 diff --git a/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/folder.yml b/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/folder.yml new file mode 100644 index 0000000..bcfed85 --- /dev/null +++ b/collections/elixForms API v2/EFTL processing/MOD A13 Richiesta Certificato/folder.yml @@ -0,0 +1,7 @@ +info: + name: MOD A13 Richiesta Certificato + type: folder + seq: 4 + +request: + auth: inherit diff --git a/collections/elixForms API v2/EFTL processing/Process EFTL.yml b/collections/elixForms API v2/EFTL processing/Process EFTL.yml index 60c9fc9..23e0018 100644 --- a/collections/elixForms API v2/EFTL processing/Process EFTL.yml +++ b/collections/elixForms API v2/EFTL processing/Process EFTL.yml @@ -1,7 +1,7 @@ info: name: Process EFTL type: http - seq: 5 + seq: 6 http: method: POST diff --git a/collections/elixForms API v2/EFTL processing/Test vari/folder.yml b/collections/elixForms API v2/EFTL processing/Test vari/folder.yml index 8e12f24..8dd0272 100644 --- a/collections/elixForms API v2/EFTL processing/Test vari/folder.yml +++ b/collections/elixForms API v2/EFTL processing/Test vari/folder.yml @@ -1,7 +1,7 @@ info: name: Test vari type: folder - seq: 4 + seq: 5 request: auth: inherit